matlab 低通、高通、带阻、带通四种滤波器幅频特性图
时间: 2023-06-06 16:01:31 浏览: 211
Matlab中可以通过使用不同的函数实现低通、高通、带阻和带通四种滤波器。每个滤波器的幅频特性图是一个关于频率的曲线,反映了滤波器对不同频率信号的衰减或增益程度。以下是matlab中常用的关于滤波器幅频特性图的函数:
1.低通滤波器的幅频特性图
使用matlab的函数freqz()可以生成低通滤波器的幅频特性图。具体代码如下:
[b,a] = butter(n,Wn,'low'); %n表示滤波器的阶数,Wn是截止频率
[h,f] = freqz(b,a); %b、a是滤波器系数,h是频率响应,f是频率向量
plot(f,20*log10(abs(h))); %绘制幅频特性图
2.高通滤波器的幅频特性图
使用matlab的函数freqz()可以生成高通滤波器的幅频特性图。具体代码如下:
[b,a] = butter(n,Wn,'high'); %n表示滤波器的阶数,Wn是截止频率
[h,f] = freqz(b,a); %b、a是滤波器系数,h是频率响应,f是频率向量
plot(f,20*log10(abs(h))); %绘制幅频特性图
3.带阻滤波器的幅频特性图
使用matlab的函数freqz()可以生成带阻滤波器的幅频特性图。具体代码如下:
[b,a] = butter(n,[Wn1,Wn2],'stop'); %n表示滤波器的阶数,Wn1、Wn2是带阻区间的两个截止频率
[h,f] = freqz(b,a); %b、a是滤波器系数,h是频率响应,f是频率向量
plot(f,20*log10(abs(h))); %绘制幅频特性图
4.带通滤波器的幅频特性图
使用matlab的函数freqz()可以生成带通滤波器的幅频特性图。具体代码如下:
[b,a] = butter(n,[Wn1,Wn2],'bandpass'); %n表示滤波器的阶数,Wn1、Wn2是带通区间的两个截止频率
[h,f] = freqz(b,a); %b、a是滤波器系数,h是频率响应,f是频率向量
plot(f,20*log10(abs(h))); %绘制幅频特性图