数字信号处理IIR及FIR设计.docx
- 文档编号:1876103
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:33
- 大小:278.55KB
数字信号处理IIR及FIR设计.docx
《数字信号处理IIR及FIR设计.docx》由会员分享,可在线阅读,更多相关《数字信号处理IIR及FIR设计.docx(33页珍藏版)》请在冰点文库上搜索。
数字信号处理IIR及FIR设计
IIR数字滤波器设计作业
通信工程201304015
7.12
设计一个数字切比雪夫I型带通滤波器,给定指标为:
(1)波纹
,当
(2)衰减
,
(3)抽样频率
试用
冲激响应不变法,
双线性变换法进行设计,最后写出
的表达式,并画出系统的幅频响应特性
。
解:
冲激响应不变法设计程序如下
%冲激响应不变法,ex712.m
clc;clearall
OmegaP1=2*pi*200;OmegaP2=2*pi*400;%带通截止频率
OmegaS1=2*pi*100;OmegaS2=2*pi*600;%1.5kHz阻带
Rp=2;%波纹系数
As=20;%阻带衰减dB
Fs=2*10^3;%抽样频率2khz
OmegaP=[OmegaP1,OmegaP2];OmegaS=[OmegaS1,OmegaS2];
wp=OmegaP/Fs;ws=OmegaS/Fs;%等效数字频率
[N,OmegaC]=cheb1ord(OmegaP,OmegaS,Rp,As,'s')%滤波器阶数截止频率
[b,a]=cheby1(N,Rp,OmegaC,'s');%AF系统函数的分子分母
[bz,az]=impinvar(b,a,Fs)%冲击不变法AFtoDF
w0=[wp,ws]%四个频点
Hx=freqz(bz,az,w0);%检验
[H,w]=freqz(bz,az);%计算0~pi上的响应
dbHx=-20*log10(abs(Hx)/max(abs(H)))%归一化并求dB
dbH=20*log10(abs(H)/max(abs(H)));%归一化的频率响应
plot(w/pi,dbH);%画图
xlabel('\Omega/\pi');ylabel('dB');
axis([0,1,-60,5]);grid
运行,得
N=3;
OmegaC=1.0e+03*1.25662.5133
w0=0.62831.25660.31421.8850
bz=-0.00000.0272-0.05810.01090.0437-0.02370
az=1.0000-3.30306.0060-6.74635.1356-2.40930.6290
dbHx=2.00222.001541.673930.7707
图1冲激响应不变法设计IIR带通滤波器
由程序返回得到的数值可以得知,这是一个3阶带通滤波器。
转换为模拟原型滤波器的频率见OmegaC返回的值。
数字滤波器的边界频率见w0返回的值。
由bz,az返回值可得
由dbHx返回值可知在四个边界频率处幅度响应大小:
对应到模拟频率,即有
200
400
100
600
2.0022
2.0015
41.6739
30.7707
满足题目要求的设计指标,通带波纹不大于2dB,截止频率处衰减不小于20dB。
双线性变换法设计程序如下
%双线性变换法,ex7122m
clc;clearall
OmegaP1=2*pi*200;OmegaP2=2*pi*400;%带通截止频率
OmegaS1=2*pi*100;OmegaS2=2*pi*600;%1.5kHz阻带
Rp=2;%波纹系数
As=20;%阻带衰减dB
Fs=2*10^3;%抽样频率2khz
OmegaP=[OmegaP1,OmegaP2];OmegaS=[OmegaS1,OmegaS2];
wp=OmegaP/Fs;ws=OmegaS/Fs;%等效数字频率
OmegaP_t=2*Fs*tan(wp/2);OmegaS_t=2*Fs*tan(ws/2);
[N,OmegaC]=cheb1ord(OmegaP_t,OmegaS_t,Rp,As,'s')
[b,a]=cheby1(N,Rp,OmegaC,'s');%AF系统函数的分子分母
[bz,az]=bilinear(b,a,Fs)%双线性变换法AFtoDF
w0=[wp,ws];%四个频点
Hx=freqz(bz,az,w0);%计算四个频点上对应的幅度响应
[H,w]=freqz(bz,az);%计算0~pi上的响应
dbHx=-20*log10(abs(Hx)/max(abs(H)))%归一化并求dB
dbH=20*log10(abs(H)/max(abs(H)));%归一化的频率响应
plot(w/pi,dbH);%画图
xlabel('数字频率域频率\Omega/\pi');ylabel('dB');
axis([0,1,-300,5]);
grid
运行,得
N=2;
OmegaC=1.0e+03*1.29972.9062
w0=0.62831.25660.31421.8850
bz=0.0512-0.0000-0.1024-0.00000.0512
az=1.0000-2.07332.4881-1.59440.6125
dbHx=1.99971.999724.132522.3051
图2双线性变换法设计IIR带通滤波器
由程序返回得到的数值可以得知,这是一个2阶带通滤波器。
转换为模拟原型滤波器的频率见OmegaC返回的值。
数字滤波器的边界频率见w0返回的值。
由bz,az返回值可得
由dbHx返回值可知在四个边界频率处幅度响应大小:
对应到模拟频率,即有
200
400
100
600
1.9997
1.9997
24.1325
22.3051
满足题目要求的设计指标,通带波纹不大于2dB,截止频率处衰减不小于20dB。
7.14
设计一个数字切比雪夫I型带阻滤波器,给定指标为:
(1)衰减
当
(2)波纹
,当
,
(3)抽样频率
试用双线性变换法进行设计,最后写出
的表达式,并画出系统的幅频响应特性
。
解:
双线性变换法设计程序如下
%冲激响应不变法,ex714.m
%设计数字切比雪夫I型带阻滤波器
%双线性变换法
clc;clearall
OmegaP1=2*pi*500;OmegaP2=2*pi*3000;%带通截止频率
OmegaS1=2*pi*1000;OmegaS2=2*pi*2000;%阻带截止频率
Rp=3;%通带波纹dB
As=30;%阻带衰减dB
Fs=10*10^3;%抽样频率10khz
OmegaP=[OmegaP1,OmegaP2];OmegaS=[OmegaS1,OmegaS2];
wp=OmegaP/Fs;ws=OmegaS/Fs;%等效数字频率
OmegaP_t=2*Fs*tan(wp/2);OmegaS_t=2*Fs*tan(ws/2);
[N,OmegaC]=cheb1ord(OmegaP_t,OmegaS_t,Rp,As,'s')%AF阶数和截至频率
[b,a]=cheby1(N,Rp,OmegaC,'stop','s');%AF系统函数的分子分母
[bz,az]=bilinear(b,a,Fs)%双线性变换法FtoDF
w0=[wp,ws];%四个频点
Hx=freqz(bz,az,w0);%计算两个频点上对应的幅度响应
[H,w]=freqz(bz,az);%计算0~pi上的响应
dbHx=-20*log10(abs(Hx)/max(abs(H)))%归一化并求dB
dbH=20*log10(abs(H)/max(abs(H)));%归一化的频率响应
plot(w/pi,dbH);%画图
xlabel('数字频率域频率\Omega/\pi');ylabel('dB');
axis([0,1,-150,5]);
grid
运行,得
N=3;
OmegaC=1.0e+04*0.34302.7528
w0=0.31421.88500.62831.2566
bz=0.0946-0.35080.7174-0.88020.7174-0.35080.0946
az=1.0000-1.46000.3178-0.35060.68850.2289-0.3824
dbHx=0.25483.000039.892539.8925
图3双线性变换法设计IIR带阻滤波器
由程序返回得到的数值可以得知,这是一个2阶带阻滤波器。
转换为模拟原型滤波器的频率见OmegaC返回的值。
数字滤波器的边界频率见w0返回的值。
由bz,az返回值可得
由dbHx返回值可知在四个边界频率处幅度响应大小:
对应到模拟频率,即有
500
3000
1000
2000
0.2548
3.0000
39.8925
39.8925
满足题目要求的设计指标,通带波纹不大于3dB,截止频率处衰减大于30dB。
7.15
设计一个数字切比雪夫Ⅱ型带阻滤波器,给定指标为:
(4)衰减
当
(5)波纹
,当
,
(6)抽样频率
试用双线性变换法进行设计,最后写出
的表达式,并画出系统的幅频响应特性
。
设计时请先想一想,这一题和上一题有什么相似处。
由此应该得出什么结论。
解:
分析:
这一题的各频率指标要求均是7.14的10倍,抽样频率也是10倍。
此时对应的数字频率是一样的。
如果用切比雪夫Ⅰ型滤波器,双线性变换法设计出来的与7.14中的肯定是一样的(见图4).这说明只要给定的各数字频率参数一样,用同种方法设计出来的数字滤波器是一样的。
程序如下:
%设计数字切比雪夫Ⅱ型带阻滤波器
%双线性变换法
clc;clearall
OmegaP1=2*pi*5000;OmegaP2=2*pi*30000;%带通截止频率
OmegaS1=2*pi*10000;OmegaS2=2*pi*20000;%阻带截止频率
Rp=3;%通带波纹dB
As=30;%阻带衰减dB
Fs=100*10^3;%抽样频率10khz
OmegaP=[OmegaP1,OmegaP2];OmegaS=[OmegaS1,OmegaS2];
wp=OmegaP/Fs;ws=OmegaS/Fs;%等效数字频率
OmegaP_t=2*Fs*tan(wp/2);OmegaS_t=2*Fs*tan(ws/2);
[N,OmegaC]=cheb2ord(OmegaP_t,OmegaS_t,Rp,As,'s')%AF阶数和截至频率
[b,a]=cheby2(N,As,OmegaS,'stop','s');%AF系统函数的分子分母
[bz,az]=bilinear(b,a,Fs)%双线性变换法FtoDF
w0=[wp,ws];%四个频点
Hx=freqz(bz,az,w0);%计算两个频点上对应的幅度响应
[H,w]=freqz(bz,az);%计算0~pi上的响应
dbHx=-20*log10(abs(Hx)/max(abs(H)))%归一化并求dB
dbH=20*log10(abs(H)/max(abs(H)));%归一化的频率响应
plot(w/pi,dbH);%画图
xlabel('数字频率域频率\Omega/\pi');ylabel('dB');
axis([0,1,-150,5]);
grid
图4双线性变换法设计IIR带阻滤波器(fs=100kHz)
7.17
要求设计一个数字带通滤波器,其抽样频率
,通达截止频率为
,
,通带衰减
,阻带截止频率为
,
,阻带衰减为
。
(1)利用MATLAB工具箱中ellipord及ellip设计椭圆函数滤波器;
(2)利用MATLAB工具箱中cheblord及cheb1设计切比雪夫Ⅰ型滤波器;
(3)利用MATLAB工具箱中cheb2ord及cheb2设计切比雪夫Ⅱ型滤波器;
(4)利用buttord及butter设计巴特沃思型滤波器。
要求每种设计都给出系统函数并画出幅频特性(dB)、相频特性以及单位冲激响应。
解:
(1)利用MATLAB工具箱中ellipord及ellip设计椭圆函数滤波器:
核心语句为:
%设计椭圆带通滤波器
%双线性变换法
clc;clearall
OmegaP1=2*pi*5000;OmegaP2=2*pi*7000;%带通截止频率
OmegaS1=2*pi*3500;OmegaS2=2*pi*8500;%阻带截止频率
Rp=0.5;%通带波纹dB
As=45;%阻带衰减dB
Fs=35*10^3;%抽样频率35khz
OmegaP=[OmegaP1,OmegaP2];OmegaS=[OmegaS1,OmegaS2];
wp=OmegaP/Fs/pi;ws=OmegaS/Fs/pi;%等效数字频率
w0=[wp,ws];%四个频点
[N,wc]=ellipord(wp,ws,Rp,As)%DF阶数和截至频率
[bz,az]=ellip(N,Rp,As,wc)%DF系统函数的分子分母
Hx=freqz(bz,az,w0*pi);%计算四个频点上对应的幅度响应
[H,w]=freqz(bz,az);%计算0~1上的幅频响应
dbHx=-20*log10(abs(Hx)/max(abs(H)))%归一化并求dB
dbH=20*log10(abs(H)/max(abs(H)));%归一化的频率响应
pha=unwrap(angle(H));%计算0~1上的相频响应
figure
(1)
plot(w/pi,dbH);%画幅频图
xlabel('数字频率域频率\Omega/\pi');ylabel('dB');
axis([0,1,-80,5]);
grid
figure
(2)
plot(w/pi,pha);%画相频图
xlabel('数字频率域频率\Omega/\pi');ylabel('Phase\degree');
%axis([0,1,-150,5]);
grid
disp('系统传递函数H(z)');
printsys(bz,az,'z');
figure(3)
h=dimpulse(bz,az);
stem(h)
xlabel('n');ylabel('Impulseresponse');
图5直接设计法设计IIR椭圆带通滤波器幅度响应
图6直接设计法设计IIR椭圆带通滤波器相位响应
图7直接设计法设计IIR椭圆带通滤波器单位冲激响应
得到四个截止频率处的幅度响应如下:
3.5
5
7
8.5
0.2000
0.2857
0.4000
0.4857
0.4999
0.4000
47.7382
45.0760
满足题目设定的指标要求。
(2)利用MATLAB工具箱中cheb1ord及cheby1设计切比雪夫Ⅰ型滤波器:
%设计chebshevI带通滤波器
clc;clearall
OmegaP1=2*pi*5000;OmegaP2=2*pi*7000;%带通截止频率
OmegaS1=2*pi*3500;OmegaS2=2*pi*8500;%阻带截止频率
Rp=0.5;%通带波纹dB
As=45;%阻带衰减dB
Fs=35*10^3;%抽样频率35khz
OmegaP=[OmegaP1,OmegaP2];OmegaS=[OmegaS1,OmegaS2];
wp=OmegaP/Fs/pi;ws=OmegaS/Fs/pi;%等效数字频率
w0=[wp,ws];%四个频点
[N,wc]=cheb1ord(wp,ws,Rp,As)%DF阶数和截至频率
[bz,az]=cheby1(N,Rp,wc);%DF系统函数的分子分母
Hx=freqz(bz,az,w0*pi);%计算四个频点上对应的幅度响应
[H,w]=freqz(bz,az);%计算0~1上的幅频响应
dbHx=-20*log10(abs(Hx)/max(abs(H)))%归一化并求dB
dbH=20*log10(abs(H)/max(abs(H)));%归一化的频率响应
pha=unwrap(angle(H));%计算0~1上的相频响应
figure
(1)
plot(w/pi,dbH);%画幅频图
xlabel('数字频率域频率\Omega/\pi');ylabel('dB');
axis([0,1,-150,5]);
grid
figure
(2)
plot(w/pi,pha);%画相频图
xlabel('数字频率域频率\Omega/\pi');ylabel('Phase\degree');
%axis([0,1,-150,5]);
grid
disp('系统传递函数H(z)');
printsys(bz,az,'z');
figure(3)
h=dimpulse(bz,az);
stem(h)
xlabel('n');ylabel('Impulseresponse');
grid
图8直接设计法设计IIR切比雪夫Ⅰ型带通滤波器幅度响应
图9直接设计法设计IIR切比雪夫Ⅰ型带通滤波器相位响应
图10直接设计法设计IIR切比雪夫Ⅰ型带通滤波单位冲激响应
得到四个截止频率处的幅度响应如下:
3.5
5
7
8.5
0.2000
0.2857
0.4000
0.4857
0.4999
0.4999
62.4513
51.1270
满足题目设定的指标要求。
(3)利用MATLAB工具箱中cheb2ord及cheby2设计切比雪夫Ⅱ型滤波器:
核心语句为:
%设计chebshevⅡ带通滤波器
clc;clearall
OmegaP1=2*pi*5000;OmegaP2=2*pi*7000;%带通截止频率
OmegaS1=2*pi*3500;OmegaS2=2*pi*8500;%阻带截止频率
Rp=0.5;%通带波纹dB
As=45;%阻带衰减dB
Fs=35*10^3;%抽样频率35khz
OmegaP=[OmegaP1,OmegaP2];OmegaS=[OmegaS1,OmegaS2];
wp=OmegaP/Fs/pi;ws=OmegaS/Fs/pi;%等效数字频率
[N,wc]=cheb2ord(wp,ws,Rp,As)%AF阶数和截至频率
[bz,az]=cheby2(N,As,wc);%AF系统函数的分子分母
w0=[wp,ws];%四个频点
Hx=freqz(bz,az,w0*pi);%计算两个频点上对应的幅度响应
[H,w]=freqz(bz,az);%计算0~1上的幅频响应
dbHx=-20*log10(abs(Hx)/max(abs(H)))%归一化并求dB
dbH=20*log10(abs(H)/max(abs(H)));%归一化的频率响应
pha=unwrap(angle(H));%计算0~1上的相频响应
figure
(1)
plot(w/pi,dbH);%画幅频图
xlabel('数字频率域频率\Omega/\pi');ylabel('dB');
axis([0,1,-100,5]);
grid
figure
(2)
plot(w/pi,pha);%画相频图
xlabel('数字频率域频率\Omega/\pi');ylabel('Phase\degree');
%axis([0,1,-150,5]);
grid
disp('系统传递函数H(z)');
printsys(bz,az,'z');
figure(3)
h=dimpulse(bz,az);
stem(h)
xlabel('n');ylabel('Impulseresponse');
grid
图11直接设计法设计IIR切比雪夫Ⅱ型带通滤波器幅度响应
图12直接设计法设计IIR切比雪夫Ⅱ型带通滤波器相位响应
图13直接设计法设计IIR切比雪夫Ⅱ型带通滤波器单位冲激响应
得到四个截止频率处的幅度响应如下:
3.5
5
7
8.5
0.2000
0.2857
0.4000
0.4857
0.0009
0.5302
45.0000
45.0000
满足题目设定的指标要求。
(4)利用buttord及butter设计巴特沃思型滤波器。
核心语句为:
%设计chebshevⅡ带通滤波器
clc;clearall
OmegaP1=2*pi*5000;OmegaP2=2*pi*7000;%带通截止频率
OmegaS1=2*pi*3500;OmegaS2=2*pi*8500;%阻带截止频率
Rp=0.5;%通带波纹dB
As=45;%阻带衰减dB
Fs=35*10^3;%抽样频率35khz
OmegaP=[OmegaP1,OmegaP2];OmegaS=[OmegaS1,OmegaS2];
wp=OmegaP/Fs/pi;ws=OmegaS/Fs/pi;%等效数字频率
w0=[wp,ws];%四个频点
[N,wc]=buttord(wp,ws,Rp,As)%AF阶数和截至频率
[bz,az]=butter(N,wc);%AF系统函数的分子分母
Hx=freqz(bz,az,w0*pi);%计算两个频点上对应的幅度响应
[H,w]=freqz(bz,az);%计算0~1上的幅频响应
dbHx=-20*log10(abs(Hx)/max(abs(H)))%归一化并求dB
dbH=20*log10(abs(H)/max(abs(H)));%归一化的频率响应
pha=unwrap(angle(H));%计算0~1上的相频响应
figure
(1)
plot(w/pi,dbH);%画幅频图
xlabel('数字频率域频率\Omega/\pi');ylabel('dB');
axis([0,1,-200,5]);
grid
figure
(2)
plot(w/pi,pha);%画相频图
xlabel('数字频率域频率\Omega/\pi');ylabel('Phase\degree');
%axis([0,1,-150,5]);
grid
disp('系统传递函数H(z)');
printsys(bz,az,'z');
figure(3)
h=dimpulse(bz,az);
stem(h)
xlabel('n');ylabel('Impulseresponse');
grid
图14直接设计法设计IIR巴特沃思带通滤波器幅度响应
图15直接设计法设计IIR巴特沃思带通滤波器相位响应
图16直接设计法设计IIR巴特沃思带通滤波器单位冲激响应
得到四个截止频率处的幅度响应如下:
3.5
5
7
8.5
0.2000
0.2857
0.4000
0.4857
0.1054
0.1054
61.8331
45.0000
满足题目设定的指标要求。
FIR数字滤波器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 IIR FIR 设计