DSP实验报告Word格式.docx
《DSP实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《DSP实验报告Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
G:
song.wav'
);
%读取并采样处理音频信号
disp(fs);
disp(bits);
N=length(x);
t=0:
N-1;
subplot(2,1,1)
plot(t,x);
%x的时域波形
sound(x,11025);
k=0:
subplot(2,1,2)
X=fft(x);
plot(k,abs(X));
%X的频谱分析
Fs=input('
fs='
%输入抽样频率
%双线性设计低通DF
fp=2000;
fs=3200;
WpLd=fp*2*pi/Fs;
WsLd=fs*2*pi/Fs;
RpLd=1;
RsLd=100;
Wap=2*Fs*tan(WpLd/2);
Was=2*Fs*tan(WsLd/2);
%频率预畸变:
低通DF指标变成低通AF指标
[NL,WnL]=buttord(Wap,Was,RpLd,RsLd,'
s'
%由AF指标得到AF阶数和三DB截止频率
disp(NL);
[ZL,RL,KL]=buttap(NL);
%由阶数得到零极点
[BapL,AapL]=zp2tf(ZL,RL,KL);
%由零极点得到分子分母
[bL,aL]=lp2lp(BapL,AapL,Wap);
%由低通到低通的变换
[bzL,azL]=bilinear(bL,aL,Fs);
%用双线性把低通AF分子分母变成低通DF分子分母
[HL,WL]=freqz(bzL,azL);
%求DF的频响
figure
(1)
plot(WL/pi,20*log10(abs(HL)))
y=filter(bzL,azL,x);
%使x通过滤波器滤波输出为y
figure(3);
plot(t,y);
%分析y的时域波形
figure(4);
subplot(4,1,1)
subplot(4,1,2)
subplot(4,1,3)
subplot(4,1,4)
Y=fft(y);
%对y进行时域分析
plot(k,abs(Y));
%对Y进行频谱分析
sound(y,11025);
(2)结果图形:
原信号的时域和频域分析
低通滤波器的特性
经过滤波器输出信号的时域和频域分析
2、巴特沃兹--双线性变换法---设计高通IIRDF:
(1)程序:
%双线性设计高通DF
fp=3000;
fs=2000;
Wphd=fp*2*pi/Fs;
Wshd=fs*2*pi/Fs;
RpLd=1;
Wap=2*Fs*tan(Wphd/2);
Was=2*Fs*tan(Wshd/2);
[Zh,Rh,Kh]=buttap(NL);
[Baph,Aaph]=zp2tf(Zh,Rh,Kh);
[bh,ah]=lp2hp(Baph,Aaph,Wap);
[bzh,azh]=bilinear(bh,ah,Fs);
[HL,WL]=freqz(bzh,azh);
figure
(2)
plot(WL/pi,20*log10(abs(HL)));
y=filter(bzh,azh,x);
(3)结果图形:
3、巴特沃兹---双线性变换法---设计带通IIRDF:
%双线性设计带通DF
fp=[12003000];
fs=[3004000];
Wpbp=fp*2*pi/Fs;
Wsbp=fs*2*pi/Fs;
%带通DF的期望指标
Wap=2*Fs*tan(Wpbp/2);
Was=2*Fs*tan(Wsbp/2);
%预畸变:
DF频率到AF频率的转换
[Nbp,Wnbp]=buttord(Wap,Was,RpLd,RsLd,'
%用M文件BUTTORD由带通AF指标得到阶数
disp(Nbp);
[Zbp,Rbp,Kbp]=buttap(Nbp);
%由阶数得到零极点及系数
[Bapbp,Aapbp]=zp2tf(Zbp,Rbp,Kbp);
%由零极点得到低通AF分子分母
bw=Wap
(2)-Wap
(1);
%通带带宽
w0=sqrt(Wap
(1)*Wap
(2));
%?
[bp,ap]=lp2bp(Bapbp,Aapbp,w0,bw);
%由低通AF分子分母得到带通AF分子分母
[bzp,azp]=bilinear(bp,ap,Fs);
%经过双线性变换把带通AF分子分母变成带通DF分子分母
[Hp,Wp]=freqz(bzp,azp);
%求带通DF的频率响应
plot(Wp/pi,20*log10(abs(Hp)));
y=filter(bzp,azp,x);
4、凯泽窗---设计低通FIRDF:
%设计低通DF
wpl=2*1000/fs;
wsl=2*1200/fs;
as=100;
ap=1;
%期望的低通DF指标
p=0.1087487;
s=0.00001;
fptsl=[wplwsl];
mag=[10];
dev=[ps];
[N,Wn,beta,ftype]=kaiserord(fptsl,mag,dev)%参数得到凯泽窗的阶数截止频率等
kw=kaiser(N+1,beta);
%阶数得到凯泽窗的系数
b=fir1(N,Wn,kw);
%由凯泽窗的阶数和系数得到传输函数的系数
[h,omega]=freqz(b,1,512);
%分析传输函数的频谱
figure
(1);
plot(omega/pi,20*log10(abs(h)));
grid;
xlabel('
\omega/\pi'
ylabel('
Gain,dB'
y=fftfilt(b,x);
(2)结果图形:
5、凯泽窗---设计高通FIRDF:
%设计高通DF
wph=2*5000/fs;
wsh=2*4800/fs;
fptsh=[wshwph];
mag=[01];
dev=[sp];
[N,Wn,beta,ftype]=kaiserord(fptsh,mag,dev)
%注意凯泽窗长度为N+1
b=fir1(N,Wn,'
high'
kw);
%注意函数参数要加‘HIGH’
figure
(2);
6、凯泽窗---设计带通FIRDF:
%设计带通DF
wp1=2*1200/fs;
wp2=2*3000/fs;
ws1=2*1000/fs;
ws2=2*3200/fs;
fptsh=[wp1wp2];
b=fir1(N,[0.50.75],kw);
结果分析和结论总结:
(1)原始音频信号经过滤波器后输出的信号基本和原信号相似,不过有的已失真,实验过程中有的滤波器输出没有信号,这说明滤波器设计的有问题。
信号经过滤波器后应该受到滤波器的滤波作用,把高频或低频或高频和低频分量滤掉,出来的信号应该是带限信号,频带在一定范围内的,从理论上讲信号应该比较好,音质比较。
但实际中并不是像理论中的那样,而是有些失真。
我们可以得出结论:
如果要对一信号进行加工处理的话,滤波器是必不可少的,它可以滤除多余的杂波分量,使输出的信号比较清晰。
针对不同的信号,我们可以选择不同类型的滤波器,设置不同的参数,最终使对信号的滤波作用达到最佳。
(2)设计滤波器进行编程时对一些基本M文件不熟悉其用法,不熟悉其参数含义。
经查询资料才可慢慢看懂并应用。
设计IIR滤波器时用BUTTER、CHEBY、ELLIP及双线性变换法设计低通、高通、带通数字滤波器时对其之间变换关系不熟悉。
需反复查阅课本实例才能稍加改换。
设计FIR滤波器时用各种窗函数直接设计低通、高通、带通数字滤波器时对窗函数的参数的求法及关系不懂,不知其内含是什么,不过看着资料能应用。
对带通滤波器的参数的变换关系不是很懂,以及低通、高通、带通之间的变换关系不熟悉。
经查阅资料稍微有些懂之。
后面窗函数法设计时使信号经过滤波器时用的M文件的参数不是很懂,后面的输出信号图形可能有些不对。