首页 > 其他分享 >数字滤波器分析---频率响应

数字滤波器分析---频率响应

时间:2023-11-14 13:03:17浏览次数:35  
标签:滤波器 频率响应 freqz dB --- 频率 pi


数字滤波器分析---频率响应

幅值、相位、冲激和阶跃响应、相位和群延迟、零极点分析。

分析滤波器的频域和时域响应。可视化复平面中的滤波器极点和零点。

频率响应

数字域

freqz 使用基于 FFT 的算法来计算数字滤波器的 Z 变换频率响应。具体来说,语句

[h,w] = freqz(b,a,p)

返回数字滤波器的包含 p 个点的复频率响应 H(ejω)。

数字滤波器分析---频率响应_算法

在其最简单的形式中,freqz 接受滤波器系数向量 b 和 a 以及整数 p(该整数指定计算频率响应所用的点的数量)。freqz 以弧度/秒为单位返回向量 h 中的复频率响应,以及向量 w 中的实际频率点。

freqz 可以接受其他参数,例如采样频率或由任意数量的频率点构成的向量。以下示例求 12 阶切比雪夫 I 型滤波器的 256 点频率响应。调用 freqz 将采样频率 fs 指定为 1000 Hz:

[b,a] = cheby1(12,0.5,200/500);
[h,f] = freqz(b,a,256,1000);

由于参数列表包含采样频率,因此 freqz 返回向量 f,其中包含在频率响应计算中使用的 0 到 fs/2 之间的 256 个频率点。

注意

此工具箱使用单位频率是奈奎斯特频率的约定,定义为采样频率的一半。所有基本滤波器设计函数的截止频率参数均用奈奎斯特频率进行归一化处理。例如,对于采样频率为 1000 Hz 的系统,300 Hz 等于 300/500 = 0.6。要将归一化频率转换为围绕单位圆的角频率,请乘以 π。要将归一化频转换回赫兹,请乘以采样频率的一半。

如果您在不带输出参数的情况下调用 freqz,它会同时绘制幅值对频率的图和相位对频率的图。例如,截止频率为 400 Hz、基于 2000 Hz 的采样频率的九阶巴特沃斯低通滤波器是:

[b,a] = butter(9,400/1000);

要计算此滤波器的 256 点复频率响应,并使用 freqz 绘制幅值和相位,请使用

freqz(b,a,256,2000)

数字滤波器分析---频率响应_采样频率_02

freqz 也可以接受由任意数量的频率点构成的向量,以用于频率响应计算。例如,

w = linspace(0,pi);
h = freqz(b,a,w);

计算由向量 b 和 a 定义的滤波器在 w 的频率点处的复频率响应。频率点可以是 0 到 2π 范围内的值。要指定从零到采样频率的频率向量,请在参数列表中同时包括频率向量和采样频率值。

下列示例说明如何计算和显示数字频率响应。

传递函数的频率响应

计算并显示由以下传递函数描述的三阶 IIR 低通滤波器的幅值响应:

数字滤波器分析---频率响应_信息与通信_03

将分子和分母表示为多项式卷积。求分布在整个单位圆上的 2001 个点上的频率响应。

b0 = 0.05634;
b1 = [1  1];
b2 = [1 -1.0166 1];
a1 = [1 -0.683];
a2 = [1 -1.4461 0.7957];

b = b0*conv(b1,b2);
a = conv(a1,a2);

[h,w] = freqz(b,a,'whole',2001);

绘制以分贝表示的幅值响应。

plot(w/pi,20*log10(abs(h)))
ax = gca;
ax.YLim = [-100 20];
ax.XTick = 0:.5:2;
xlabel('Normalized Frequency (\times\pi rad/sample)')
ylabel('Magnitude (dB)')

数字滤波器分析---频率响应_matlab_04

FIR 带通滤波器的频率响应

设计一个 FIR 带通滤波器,通带在 0.35π 和 0.8π 弧度/采样点之间,波纹为 3 dB。第一个阻带是从 0 到 0.1π 弧度/采样点,衰减为 40 dB。第二个阻带是从 0.9π 弧度/采样点到奈奎斯特频率,衰减为 30 dB。计算频率响应。同时以线性单位和分贝绘制其幅值。突出显示通带。

sf1 = 0.1;
pf1 = 0.35;
pf2 = 0.8;
sf2 = 0.9;
pb = linspace(pf1,pf2,1e3)*pi;

bp = designfilt('bandpassfir', ...
    'StopbandAttenuation1',40, 'StopbandFrequency1',sf1,...
    'PassbandFrequency1',pf1,'PassbandRipple',3,'PassbandFrequency2',pf2, ...
    'StopbandFrequency2',sf2,'StopbandAttenuation2',30);

[h,w] = freqz(bp,1024);
hpb = freqz(bp,pb);

subplot(2,1,1)
plot(w/pi,abs(h),pb/pi,abs(hpb),'.-')
axis([0 1 -1 2])
legend('Response','Passband','Location','South')
ylabel('Magnitude')

subplot(2,1,2)
plot(w/pi,db(h),pb/pi,db(hpb),'.-')
axis([0 1 -60 10])
xlabel('Normalized Frequency (\times\pi rad/sample)')
ylabel('Magnitude (dB)')

数字滤波器分析---频率响应_信息与通信_05

高通滤波器的幅值响应

设计一个三阶高通巴特沃斯滤波器,它具有 0.5π 弧度/采样点的归一化 3-dB 频率。计算它的频率响应。用分贝表示幅值响应,并对其绘图。

[b,a] = butter(3,0.5,'high');
[h,w] = freqz(b,a);

dB = mag2db(abs(h));

plot(w/pi,dB)
xlabel('\omega / \pi')
ylabel('Magnitude (dB)')
ylim([-82 5])

数字滤波器分析---频率响应_信息与通信_06

使用 fvtool 重复计算。

fvtool(b,a)

数字滤波器分析---频率响应_matlab_07

模拟域

freqs 计算由两个输入系数向量 b 和 a 定义的模拟滤波器的频率响应。其运算类似于 freqz 的运算;您可以指定要使用的频率点数量,提供由任意数量的频率点构成的向量,并绘制滤波器的幅值和相位响应。此示例说明如何计算和显示模拟频率响应。

模拟 IIR 低通滤波器的比较

尝试此示例Copy Code  Copy Command

设计截止频率为 2 GHz 的五阶模拟巴特沃斯低通滤波器。乘以 2π 以将频率转换为弧度/秒。计算滤波器在 4096 个点上的频率响应。

n = 5;
fc = 2e9;

[zb,pb,kb] = butter(n,2*pi*fc,"s");
[bb,ab] = zp2tf(zb,pb,kb);
[hb,wb] = freqs(bb,ab,4096);

设计一个具有相同边缘频率和 3 dB 通带波纹的五阶切比雪夫 I 型滤波器。计算它的频率响应。

[z1,p1,k1] = cheby1(n,3,2*pi*fc,"s");
[b1,a1] = zp2tf(z1,p1,k1);
[h1,w1] = freqs(b1,a1,4096);

设计一个具有相同边缘频率和 30 dB 阻带衰减的 5 阶切比雪夫 II 型滤波器。计算它的频率响应。

[z2,p2,k2] = cheby2(n,30,2*pi*fc,"s");
[b2,a2] = zp2tf(z2,p2,k2);
[h2,w2] = freqs(b2,a2,4096);

设计一个具有相同边缘频率和 3 dB 通带波纹、30 dB 阻带衰减的五阶椭圆滤波器。计算它的频率响应。

[ze,pe,ke] = ellip(n,3,30,2*pi*fc,"s");
[be,ae] = zp2tf(ze,pe,ke);
[he,we] = freqs(be,ae,4096);

设计一个具有相同边缘频率的 5 阶贝塞尔滤波器。计算它的频率响应。

[zf,pf,kf] = besself(n,2*pi*fc);
[bf,af] = zp2tf(zf,pf,kf);
[hf,wf] = freqs(bf,af,4096);

对衰减绘图,以分贝为单位。以千兆赫为单位表示频率。比较滤波器。

plot([wb w1 w2 we wf]/(2e9*pi), ...
    mag2db(abs([hb h1 h2 he hf])))
axis([0 5 -45 5])
grid
xlabel("Frequency (GHz)")
ylabel("Attenuation (dB)")
legend(["butter" "cheby1" "cheby2" "ellip" "besself"])

数字滤波器分析---频率响应_信息与通信_08

       巴特沃斯和切比雪夫 II 型滤波器具有平坦的通带和宽过渡带。切比雪夫 I 型和椭圆滤波器转降更快,但有通带波纹。切比雪夫 II 型设计函数的频率输入设置阻带的起点,而不是通带的终点。贝塞尔滤波器沿通带具有大致恒定的群延迟。

标签:滤波器,频率响应,freqz,dB,---,频率,pi
From: https://blog.51cto.com/oliverHuang/8366104

相关文章

  • 滤波器实现
    滤波器实现卷积和滤波    滤波的数学基础是卷积。对于有限冲激响应(FIR)滤波器,滤波运算的输出 y(k) 是输入信号 x(k) 与冲激响应 h(k) 的卷积:y(k)=∞∑l=−∞h(l) x(k−l).    如果输入信号也是有限长度的,您可以使用MATLAB® conv 函数来执行滤波运算。......
  • 闪客网盘系统源码,已测试对接腾讯COS及本地和支付(支持限速+按时收费+文件分享+可对接易
    正文概述资源入口支持对文件下载限速对接易支付推广赚钱啥的功能源码非常的好支持腾讯cos阿里云cos本地储存远程存储源码仅支持服务器搭建php7.2伪静态thinkphp运行目录public导入数据库修改config目录下的database.php数据库信息后台地址:域名/admin.php账号密码都......
  • 补偿 FIR 滤波器引入的延迟
    补偿FIR滤波器引入的延迟对信号进行滤波会引入延迟。这意味着相对于输入,输出信号在时间上有所偏移。此示例向您说明如何抵消这种影响。有限冲激响应滤波器经常将所有频率分量延迟相同的时间量。这样,我们就很容易通过对信号进行时移处理来针对延迟进行校正。以500Hz的频率对心......
  • 补偿 IIR 滤波器引入的延迟
    补偿IIR滤波器引入的延迟对信号进行滤波会引入延迟。这意味着相对于输入,输出信号在时间上有所偏移。无限冲激响应滤波器对某些频率分量的延迟可能比其他频率分量更长。它们会使输入信号呈现明显失真。函数 filtfilt 可补偿此类滤波器引入的延迟,从而校正滤波器失真。这种“零相......
  • 数字滤波器设计---IIR 滤波器设计
    数字滤波器设计---IIR滤波器设计IIR与FIR滤波器的比较与FIR滤波器相比,IIR滤波器的主要优点是,要满足同一组设定,它的滤波器阶数通常远远低于FIR滤波器。虽然IIR滤波器具有非线性相位,但MATLAB® 软件中的数据处理通常是“离线”执行的,即整个数据序列在滤波之前是可用的。......
  • 汇编-neg求补(改变正负号)
     neg指令详细解释规则:1.negreg(对寄存器操作)2.negmem(对内存操作)作用:将目的操作数的所以数据位取反加1影响的标志:进位标志(CF),零标志(ZF),符合标志(SF),溢出标志(OF),辅助进位标志(AF),奇偶标志(PF)当操作数为0时,置CF位为0当操作数不为0时,置CF位为1.386.modelflat,stdcalloptionca......
  • 学无止境--linux串口编程(RS485)
    备注:学习记录所用,若有高手不吝赐教,万分感谢!一、概括  linux将串口都映射成了TTY终端,所以在串口编程时,找到并使能平台的TTY,然后操作TTY终端即可。  例如对于Nuclei平台的轩辕91030M芯片设备树: uart0:serial@10013000{ compatible="sifive,uart0"; reg=<0x00x100......
  • C++U4-04-递推2
    上节课作业部分(点击跳转) 排列组合排列 组合:  练习题目 题2 编程题1,用递推求组合数编程题3:[【递推】直线分割平面问题]【算法分析】用a[i]表示i条直线最多能将这个圆分割成的部分数:当i=1时,a[1]=2;当i=2时,a[2]=4;......
  • 读书笔记 -- Junit 实战(3rd)Ch07 用 mock object 进行测试
    8.1mockobject简介隔离测试:最大优点是能编写专门测试单一方法的测试代码,而不会受到被测方法调用某个对象所带来的副作用的影响。mockobject(mocks):非常适合测试与代码的其余部分隔离开的一部分代码。 mocks与隔离测试的区别:mock并不实现任何逻辑,只提供一些方法的空壳,......
  • 以太网通信控制板-A3-控制板作为TCP服务器和电脑TCP客户端通信(连接电脑网线方式, TCP
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/CH579_DTU_PBX/index1.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> 说明这节......