代码:

%% ------------------------------------------------------------------------
%% 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. 2-4-搭建DHCP服务实现动态分配IP地址-NTP网络时间同步

    本节所讲内容: •DHCP服务器工作原理 •使用DHCP为局域网中的机器分配IP地址 •使用DHCP为服务器分配固定IP地址 •ntpdate加计划任务同步服务器时间 ---------------- ...

  2. HDU 1693 插头dp入门详解

    放题目链接   https://vjudge.net/problem/22021/origin 给出一个n*m的01矩阵,1可走0不可通过,要求走过的路可以形成一个环且可以有多个环出现,问有多少不同的 ...

  3. OGNL表达式语言中的"#"和"$"的区别

    Struts2使用标准的Context来进行OGNL表达式语言求值,OGNL的顶级对象是一个Context,这个Context对象就是一个Map类型实例,其根对象就是ValueStack,如果需要访问 ...

  4. json与api- 天气api 博客词频分析

    一.json基础 1.1 json的介绍 json现在成为各种程序与语言之间交互的一种数据格式,本质是文本,字符串. json有两种格式: 1.  类似字典  {k:v,k,v} 2.  类似列表 { ...

  5. opengl:初次接触

    1.概述 OpenGL(Open Graphics Library),开放的图形程序接口,是编程接口的规范,并不是像OpenCV那样是库.GLFW是开源的基于opengl标准的库,并且是跨平台的.其开 ...

  6. Netty实例几则

    Netty是基于JDK NIO的网络框架 简化了NIO编程, 不用程序自己维护selector, 将网络通信和数据处理的部分做了分离 多用于做底层的数据通信, 心跳检测(keepalived) 1. ...

  7. vue创建组件

    vue创建组件是很容易的: js: Vue.component("component-item",{   //component-item就是我们在HTML页面上引用的组件,它会在 ...

  8. C# 调用颜色的RGB值_RGB颜色转换十六进制颜色

    调用方法: 如:btn_FangTai.BackColor = Color.FromArgb(135, 206, 250); 十六进制颜色查询 颜   色 英文代码 形象描述 十六进制 RGB   L ...

  9. 【javascript基础】JS计算字符串所占字节数

    废话不说,直接正题吧. 最近项目有个需求要用js计算一串字符串写入到localStorage里所占的内存,众所周知的,js是使用Unicode编码的.而Unicode的实现有N种,其中用的最多的就是U ...

  10. PriorityBlockingQueue用法

    摘自<Java编程思想> package com.test.concurrency; import java.util.ArrayList; import java.util.List; ...