代码:

%% ------------------------------------------------------------------------
%% Output Info about this m-file
fprintf('\n***********************************************************\n');
fprintf(' <DSP using MATLAB> Exameple 9.7 \n\n'); time_stamp = datestr(now, 31);
[wkd1, wkd2] = weekday(today, 'long');
fprintf(' Now is %20s, and it is %7s \n\n', time_stamp, wkd2);
%% ------------------------------------------------------------------------ I = 4; L = 5;
%n = 0:2048; k1 = 256; k2 = k1+32; m = 0:(k2-k1); %% -----------------------------------------------------------------
%% Plot
%% -----------------------------------------------------------------
Hf1 = figure('units', 'inches', 'position', [1, 1, 8, 6], ...
'paperunits', 'inches', 'paperposition', [0, 0, 6, 4], ...
'NumberTitle', 'off', 'Name', 'Exameple 9.7');
set(gcf,'Color','white'); TF = 10;
% (a) Full singal bandwidth: alpha = 1
I
L
alpha = 1; h = intfilt(I, L, alpha);
fprintf('\n The Length of filter is %d \n', length(h) ); [Hr, w, a, LL] = Hr_Type1(h); Hr_min = min(Hr); w_min = find(Hr == Hr_min);
H = abs(freqz(h, 1, w)); Hdb = 20*log10(H/max(H)); min_attn = Hdb(w_min); subplot(2, 2, 1);
plot(w/pi, Hr, 'g', 'linewidth', 1.0); axis([0, 1, -1, 5]); grid on;
xlabel('frequency in \pi units'); ylabel('Amplitude');
title('Amplitude Response:alpha = 1 ', 'fontsize', TF);
set(gca, 'xtick', [0, 1/I, 1]);
set(gca, 'ytick', [0, I]); subplot(2, 2, 3);
plot(w/pi, Hdb, 'm', 'linewidth', 1.0); axis([0, 1, -50, 10]); grid on;
xlabel('frequency in \pi units', 'fontsize', 10); ylabel('Decibels');
title(' Log-mag Response : alpha = 1 ', 'fontsize', TF);
set(gca, 'xtick', [0, 1/I, 1]);
set(gca, 'ytick', [-50, round(min_attn), 0]); % (b) Partial signal bandwidth: alpha = 0.75
I
L
alpha = 0.75; h = intfilt(I, L, alpha); fprintf('\n The Length of filter is %d \n', length(h) ); [Hr, w, a, LL] = Hr_Type1(h); Hr_min = max(Hr(end/2:end)); w_min = find(Hr == Hr_min);
H = abs(freqz(h, 1, w)); Hdb = 20*log10(H/max(H)); min_attn = Hdb(w_min); subplot(2, 2, 2);
plot(w/pi, Hr, 'g', 'linewidth', 1.0); axis([0, 1, -1, 5]); grid on;
xlabel('frequency in \pi units '); ylabel('Amplitude');
title('Amplitude Response : alpha = 0.75 ', 'fontsize', TF);
set(gca, 'xtick', [0, 1/I, 1]);
set(gca, 'ytick', [ 0, I]); subplot(2, 2, 4); plot(w/pi, Hdb, 'm', 'linewidth', 1.0); axis([0, 1, -50, 10]); grid on;
xlabel('frequency in \pi units'); ylabel('Decibels');
title('Log-mag Response: alpha = 0.75', 'fontsize', TF);
set(gca, 'xtick', [0, 1/I, 1]);
set(gca, 'ytick', [-50, round(min_attn), 0]);

  运行结果:

可见,两种α情况下,intfilt函数得到的脉冲响应h长度为2×I×L-1=2×4×5-1=39,即数组h(n)有39个元素。

对于全频带alpha=1的情况,滤波器在通带和阻带都有更多的振荡,最小的阻带衰减是22dB。这是由过渡带很窄造成的。
当alpha=0.75时,滤波器特征是很宽容的,因此它的响应最小阻带衰减34dB。

另外注意到我们没有完全控制其他设计参数。这些细节本节随后会有更详细的讨论。

《DSP using MATLAB》示例Example 9.7的更多相关文章

  1. DSP using MATLAB 示例Example3.21

    代码: % Discrete-time Signal x1(n) % Ts = 0.0002; n = -25:1:25; nTs = n*Ts; Fs = 1/Ts; x = exp(-1000*a ...

  2. DSP using MATLAB 示例 Example3.19

    代码: % Analog Signal Dt = 0.00005; t = -0.005:Dt:0.005; xa = exp(-1000*abs(t)); % Discrete-time Signa ...

  3. DSP using MATLAB示例Example3.18

    代码: % Analog Signal Dt = 0.00005; t = -0.005:Dt:0.005; xa = exp(-1000*abs(t)); % Continuous-time Fou ...

  4. DSP using MATLAB 示例Example3.23

    代码: % Discrete-time Signal x1(n) : Ts = 0.0002 Ts = 0.0002; n = -25:1:25; nTs = n*Ts; x1 = exp(-1000 ...

  5. DSP using MATLAB 示例Example3.22

    代码: % Discrete-time Signal x2(n) Ts = 0.001; n = -5:1:5; nTs = n*Ts; Fs = 1/Ts; x = exp(-1000*abs(nT ...

  6. DSP using MATLAB 示例Example3.17

  7. DSP using MATLAB示例Example3.16

    代码: b = [0.0181, 0.0543, 0.0543, 0.0181]; % filter coefficient array b a = [1.0000, -1.7600, 1.1829, ...

  8. DSP using MATLAB 示例 Example3.15

    上代码: subplot(1,1,1); b = 1; a = [1, -0.8]; n = [0:100]; x = cos(0.05*pi*n); y = filter(b,a,x); figur ...

  9. DSP using MATLAB 示例 Example3.13

    上代码: w = [0:1:500]*pi/500; % freqency between 0 and +pi, [0,pi] axis divided into 501 points. H = ex ...

  10. DSP using MATLAB 示例 Example3.12

    用到的性质 代码: n = -5:10; x = sin(pi*n/2); k = -100:100; w = (pi/100)*k; % freqency between -pi and +pi , ...

随机推荐

  1. Qwt中鼠标获取坐标点

    void getPoint(QwtPlot *plot) { QPoint point = plot->canvas()->mapFromGlobal(QCursor::pos()); Q ...

  2. Centos 查看端口占用情况

    netstat -ntlp 把相应PID kill掉即可

  3. Unity与Web结合

    偶然在论坛上看到了一篇文章,觉的挺有意思,转载一下,之前做游戏,现在做前端,这篇文章不错..转载 Unity WebPlayer 写在前面 最近在做unity与web之间通讯的项目,在网上搜索了一些资 ...

  4. LeetCode第[78]题(Java):Subsets(求子集)扩展——第[90]题:Subsets 2

    题目:矩阵置0 难度:Easy 题目内容:   Given a set of distinct integers, nums, return all possible subsets (the pow ...

  5. Normalize.css与CSS reset区别

    Normalize.css 只是一个很小的CSS文件,但它在默认的HTML元素样式上提供了跨浏览器的高度一致性.相比于传统的CSS reset,Normalize.css是一种现代的.为HTML5准备 ...

  6. JSP 表达式语言

    JSP 表达式语言 JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单.JSP EL既可以用来创建算术表达式也可以用来创建逻辑表达式.在JSP EL表达式内可以使用整型数,浮点 ...

  7. PowerDesigner用法和技巧

    PowerDesigner是一款功能非常强大的建模工具软件,足以与Rose比肩,同样是当今最著名的建模软件之一.Rose是专攻UML对象模型的建模工具,之后才向数据库建模发展,而PowerDesign ...

  8. SQL 2008R2还原对于服务器失败 备份集中的数据库与现有数据库 3154错误

    以前用sql server 2005的时候就遇到过类似的问题,数据库在别的服务器上备份后,在本机无法还原,这次终于找到了解决方案,网上的没有找到类似的,希望能帮到大家! 原因分析:在SQL Serve ...

  9. Android------第一次启动出现白屏或者黑屏

    APP开发中,第一次运行启动app时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示. 当打开一个Activity时,如果这个Activity所属Application还没有在运行, 系统 ...

  10. HDU1595-最短路-删边

    find the longest of the shortest Time Limit: 1000/5000 MS (Java/Others)    Memory Limit: 32768/32768 ...