数字信号处理实验报告。
学号:姓名:
班级:自硕13
设计数字iir滤波器实验。
实验目的:
1. 通过**冲激响应不变法和双线性变换法;
2. 掌握滤波器性能分析的基本方法。
实验设备:
pc一台,matlab应用软件;
实验要求:
1. 设计带通iir滤波器;
2. 按照冲激响应不变法设计滤波器系数;
3. 按照和双线性变换法设计滤波器系数;
4. 分析幅频特性和相频特性;
5. 生成一定信噪比的带噪信号,并对其滤波,对比滤波前后波形和频谱。
基本原理:
1. 冲激响应不变法;
2. 双线性变换法。
实验步骤:
1. 初始化指标参数;
2. 确定模拟原型的传递函数ha (s);
3. 利用冲激响应不变法和双线性变换法求数字iir滤波器的系统函数hd (z);
4. 画出幅频特性和相频特性曲线;
5. 生成一定信噪比的带噪信号;
6. 对带噪信号进行滤波;
7. 画出滤波前后波形图和频谱图;
8. 计算信噪比增益。
附录: 1) 程序清单:
iir数字滤波器的设计;
采用脉冲响应不变法;
clear;close all;clc;
wp1=0.3*pi;
wp2=0.4*pi;
%初始化指标参数
ws1=0.1*pi;
ws2=0.6*pi;
rp=1;as=40;
fs=2000;
t=1/fs;
ripple=10^(-rp/20);
attn=10^(-as/20);
omgp1=wp1*fs;omgp2=wp2*fs;
omgp=[omgp1 omgp2];
omgs1=ws1*fs;
omgs2=ws2*fs;
omgs=[omgs1 omgs2];
b=omgp2-omgp1;
w0=sqrt(omgp1*omgp2);
n wc]=cheb1ord(omgp,omgs,rp,as,'s');设计切比雪夫1型滤波器
z0 p0 k0]=cheb1ap(n,rp);
ba1=k0*real(poly(z0));
aa1=real(poly(p0));
ba aa]=lp2bp(ba1,aa1,w0,b);
ww=omgs1:omgs2;
hh=freqs(ba,aa,ww);
dbhh=20*log10((abs(hh)+eps)/max(abs(hh)))
[ba aa]=butter(n,wc,'s');
bd ad]=impinvar(ba,aa,fs);
h w]=freqz(bd,ad);
dbh=20*log10((abs(h)+eps)/max(abs(h)))
画图; subplot(1,2,1);
plot(ww/2/pi,abs(hh));
xlabel('频率:hz');
ylabel('h(e^)'
title('幅频响应');
set(gca,'xtickmode','manual','xtick',[ws1*fs/2/pi wp1*fs/2/pi…
wp2*fs/2/pi ws2*fs/2/pi]);
set(gca,'ytickmode','manual','ytick',[attn 1/sqrt(2) ripple]);
grid;
subplot(1,2,2);
plot(ww/2/pi,dbhh);
xlabel('频率:hz');
ylabel('db');
title('幅频响应');
grid;
set(gca,'xtickmode','manual','xtick',[ws1*fs/2/pi wp1*fs/2/pi…
wp2*fs/2/pi ws2*fs/2/pi]);
set(gca,'ytickmode','manual','ytick',[as -3 -rp 0]);
figure;
subplot(2,2,1);
plot(w/pi,abs(h));
xlabel('频率:\pi');
ylabel('h(e^)'
title('幅频响应');
axis([0 1 0 1.1]);
set(gca,'xtickmode','manual','xtick',[0 ws1/pi wp1/pi wp2/pi ws2/pi 1]);
set(gca,'ytickmode','manual','ytick',[0 attn 1/sqrt(2) ripple 1]);
grid;
subplot(2,2,2);
plot(w/pi,angle(h));
xlabel('相频响应');
ylabel('相位');
title('相频响应');
axis([0 1 1.1*min(angle(h)) 1.1*max(angle(h))]
set(gca,'xtickmode','manual','xtick',[0 ws1/pi wp1/pi wp2/pi ws2/pi 1]);
set(gca,'ytickmode','manual','ytick',[1 0 1]);
grid;
subplot(2,2,3);
plot(w/pi,dbh);
xlabel('频率:\pi');
ylabel('db');
title('幅度响应');
axis([0 1 -80 10]);
set(gca,'xtickmode','manual','xtick',[0 ws1/pi wp1/pi wp2/pi ws2/pi 1]);
set(gca,'ytickmode','manual','ytick',[as -3 -rp 0]);
grid;
subplot(2,2,4);
zplane(bd,ad);
采用双线性变换法;
omgp1=(2/t)*tan(wp1/2);omgp2=(2/t)*tan(wp2/2);omgp=[omgp1 omgp2];
omgs1=(2/t)*tan(ws1/2);omgs2=(2/t)*tan(ws2/2);omgs=[omgs1 omgs2];
bw=omgp2-omgp1;
omgw0=sqrt(omgp1*omgp2);
n0 wc0]=cheb1ord(omgp,omgs,rp,as,'s');设计切比雪夫1型滤波器
z0 p0 k0]=cheb1ap(n0,rp);
a1=k0*real(poly(z0));
b1=real(poly(p0));
bc1 ac1]=lp2bp(a1,b1,omgw0,bw);
be ae]=bilinear(bc1,ac1,fs);
hh w1]=freqz(be,ae);
dbhh=20*log10((abs(hh)+eps)/max(abs(hh)))
画图 figure;subplot(2,2,1);
plot(w1/pi,abs(hh));
xlabel('频率:\pi');
ylabel('h(e^)'
title('幅频响应');
axis([0 1 0 1.1]);
set(gca,'xtickmode','manual','xtick',[0 ws1/pi wp1/pi wp2/pi ws2/pi 1]);
set(gca,'ytickmode','manual','ytick',[0 attn 1/sqrt(2) ripple 1]);grid;
subplot(2,2,2);
plot(w1/pi,angle(hh));
xlabel('相频响应');
ylabel('相位');
title('相频响应');
axis([0 1 1.1*min(angle(hh)) 1.1*max(angle(hh))]
set(gca,'xtickmode','manual','xtick',[0 ws1/pi wp1/pi wp2/pi ws2/pi 1]);
set(gca,'ytickmode','manual','ytick',[1 0 1]);
grid;
subplot(2,2,3);
plot(w1/pi,dbhh);
xlabel('频率:\pi');ylabel('db');title('幅度响应');
axis([0 1 -80 10]);
set(gca,'xtickmode','manual','xtick',[0 ws1/pi wp1/pi wp2/pi ws2/pi 1]);
set(gca,'ytickmode','manual','ytick',[as -3 -rp 0]);grid;
subplot(2,2,4);
zplane(be,ae);
生成信号,并进行滤波;
f1=100;
f2=200;
phi1=0;
phi2=0;
fs=1000;
t=1;t=0:1/fs:t;
a=1; y0=a*sin(2*pi*f1*t)+a*sin(2*pi*f2*t);
n=length(t);
noise=0.5*randn(1,n);
f=y0+noise; %信号+噪声
y=filter(bd,ad,f);
y=filter(be,ae,f);
xx=-fs/2:1/t:fs/2;
ff=abs(1/fs*fftshift(fft(f)))
yy=abs(1/fs*fftshift(fft(y)))
画图 figure;
subplot(1,2,1);
plot(t,f);
axis([0,1,-3.5,3.5]);
xlabel('t/s');
ylabel('f');
title('信号+噪声时域波形');
subplot(1,2,2);
plot(t,y);
xlabel('t/s');
ylabel('y');
title('滤波后时域波形');
figure;
subplot(1,2,1);
plot(xx,ff);
xlabel('f/hz');
ylabel('ff');
title('信号+噪声频谱图');
数字信号处理大作业
数据说明。本实验共分为4组子实验,分别将四组数据命名为 2.1 2.4,刺激频率7hz 30hz,采样率为1000hz。刺激序列 arbrcrdrerfr 8s4s8s4s8s4s8s4s8s4s8s30s 每个子实验按照上述序列闪烁6次,即每个频率刺激8s 6 48s。刺激频率 刺激序列。a hz...
数字信号处理大作业
题目一 利用matlab设计模拟带通巴特沃斯滤波器,要求通带下 上截止频率分别为fhpl 4khz,fhpu 6khz,阻带下 上截止频率分别为fhsl 2khz,fhsu 9khz,通带最大衰减rp 1db,阻带最小衰减rs 20db。问题分析 1 该题目中模拟带通滤波器指标 通带下截止频率 wp...
数字信号处理大作业
设计步骤 这次选择设计的是巴特沃斯数字高通滤波器,对输入信号xn cos 8 pi t cos 20 pi t 最高频率f 20 pi 2 pi 10hz,所以采样频率fs应大于等于20hz,在这里我选择的采样频率fs 80hz。设计思想 从归一化模拟低通原型出发,先在模拟域内经频率变换成为所需类型...