数字信号处理上机实验MATLAB程序及结果Word文件下载.docx
《数字信号处理上机实验MATLAB程序及结果Word文件下载.docx》由会员分享,可在线阅读,更多相关《数字信号处理上机实验MATLAB程序及结果Word文件下载.docx(29页珍藏版)》请在冰豆网上搜索。
sprintf('
A=%d,B=%d,C=%d'
A,B,C)
命令窗口输出结果:
A=5.086632e+00,B=3.109529e+00,C=5.355640e-01
%用改进的相关算法求幅值和相位
z=3*sin(t);
z1=3*cos(t);
zz=z.*z;
sz=s.*z;
sz1=s.*z1;
x1=length(sz);
x2=length(zz);
x3=length(sz1);
rz=sum(zz)/x2;
rsz=sum(sz)/x1;
rsz1=sum(sz1)/x3;
B=sqrt(2*rz);
C=atan(rsz1/rsz);
A=2*rsz/(B*cos(C));
A=4.986266e+00,B=2.998500e+00,C=5.264407e-01
实验三设计一个巴尔低通滤波器
%设计一个巴尔沃特低通滤波器,fp=1khz,fs=2khz,ap=1db,as=40db;
fp=1000;
fs=2000;
wp=2*pi*fp;
ws=2*pi*fs;
ap=1;
as=40;
[n,wc]=buttord(wp,ws,ap,as,'
s'
);
fprintf('
阶数为%d\n'
n);
[num,den]=butter(n,wc,'
%[z,p,k]=buttap(n);
disp('
分子多项式系数分别为'
%.4e\n'
num);
分母多项式系数分别为'
den);
w=[wpws];
h1=freqs(num,den,w);
Ap=%.4e\n'
-20*log10(abs(h1
(1))));
As=%.4e\n'
-20*log10(abs(h1
(2))));
w1=[0:
200:
12000*pi];
h=freqs(num,den,w1);
gain=20*log10(abs(h));
plot(w1/(2*pi),gain);
xlabel('
Hz'
ylabel('
dB'
title('
幅频特性'
输出结果:
阶数为8
分子多项式系数分别为
0.0000e+00
6.2187e+30
分母多项式系数分别为
1.0000e+00
3.6222e+04
6.5603e+08
7.7093e+12
6.4060e+16
3.8498e+20
1.6360e+24
4.5108e+27
Ap=6.1668e-01
As=4.0000e+01
图形为
实验四设计一个高通滤波器
%设计一个高通滤波器fp=5khz,fs=1khz,ap<
=1db,as>
=40db;
fp=5000;
fs=1000;
wp=1/(2*pi*fp);
ws=1/(2*pi*fs);
阶数为'
disp(n);
[numt,dent]=lp2hp(num,den,1);
高通滤波器分子多项式系数'
numt)
高通滤波器分母多项式系数'
dent)
w=[1/wp1/ws];
h1=freqs(numt,dent,w);
-20*log10(abs(h1
(1))))
Bp=%.4e\n'
-20*log10(abs(h1
(2))))
h=freqs(numt,dent,w1);
gain=20*log10((abs(h)));
频率'
幅值'
阶数为
4
高通滤波器分子多项式系数
高通滤波器分母多项式系数
5.1920e+04
1.3478e+09
2.0497e+13
1.5585e+17
Ap=1.0977e-01
Bp=4.0000e+01
图形
实验5用FFT设计低通滤波器
%用fft变换设计低通滤波器
N=100;
n=0:
(N-1);
fs=100;
%采样频率
f1=1;
f2=10;
y=sin(2*pi*f1/fs*n)+sin(2*pi*f2/fs*n);
%原始信号
subplot(211);
plot(2*pi*f2/fs*n,y,'
k'
%显示波形
时间'
原始信号'
ffty=fft(y);
%进行快速傅里叶变换
ffty1=ffty;
ffty1(f2/(fs/N)+1)=0;
%f2频率对应的幅值为零
ffty1((N-f2)/(fs/N)+1)=0;
%f2/2频率对应f2的对称频率值对应幅值为零
yy=ifft(ffty1);
%逆fft变换
subplot(212);
plot(2*pi*f2/fs*n,yy);
滤波以后的低频信号'
输出图形为
实验六用FFT高通滤波器设计
ffty1(f1/(fs/N)+1)=0;
ffty1((N-f1)/(fs/N)+1)=0;
滤波以后的高频信号'
实验7用双线性设计数字滤波器
%用双线性设计数字滤波器,wp=0.2pi,ws=0.6Pi,ap=2db,as=15db;
wp=0.2*pi;
ws=0.6*pi;
fs=1/2;
ap=2;
as=15;
Wp=2*fs*tan(wp/2);
Ws=2*fs*tan(ws/2);
[n,wc]=buttord(Wp,Ws,ap,as,'
[numz,denz]=bilinear(num,den,fs);
分子多项式的系数'
numz);
分母多项式的系数'
denz);
h=freqz(numz,denz,w);
ap=%.4f\n'
-20*log10(abs(h
(1))));
as=%.4f\n'
-20*log10(abs(h
(2))));
w=linspace(0,2*pi,1024);
plot(w/pi,gain);
Normalizedfrequency'
Gain,dB'
axis([01-500]);
grid;
输出结果
分子多项式的系数
1.5777e-01
3.1555e-01
分母多项式的系数
-6.0620e-01
2.3730e-01
ap=0.3945
as=15.0000
实验8切比雪夫1型设计低通和高通滤波器
%用切比雪夫1型设计低通滤波器
%wp=2*pi*1000,ws=2*pi*2000,ap=1,as=40;
wp=2*pi*1000,ws=2*pi*2000,ap=1,as=40;
[n,wc]=cheb1ord(wp,ws,ap,as,'
[num,den]=cheby1(n,ap,wc,'
%.4f\n'
num)
den)
h=freqs(num,den,w);
w=0:
12000*pi;
plot(w/(2*pi),gain);
0.0000
1202796127888840400.0000
1.0000
5886.2145
66671782.4829
241699153902.8650
904788863911639.0000
ap=1.0000
as=45.3060
图形
%用切比雪夫1型设计高通滤波器
wp=2*pi*5000,ws=2*pi*1000,ap=1,as=40;
wp=1/wp;
ws=1/ws;
[numz,denz]=lp2hp(num,den,1);
h=freqs(numz,denz,w);
ap=%.4e\n'
as=%.4e\n'
ap=1.0000e+00
as=4.7847e+01
输出图形
实验9用切比雪夫2型设计低通和高通滤波器
%用切比雪夫2型设计低通滤波器
[n,wc]=cheb2ord(wp,ws,ap,as,'
[num,den]=cheby2(n,as,wc,'
566.3919
290688415499.9292
29837909134910329000.0000
24344.5782
296168842.7942
2252800523365.8032
10820843108280358.0000
29837909134910292000.0000
as=44.1570
wp=2*pi*5000;
ws=2*pi*1000;
幅频特性曲线'
as=4.4779e+01
实验10画一个信号的频谱图
%画频谱图
f1=50;
f2=100;
f3=200;
N=100
t=0:
N-1;
data=25+22*sin(2*pi*f1/fs*t)+30*sin(2*pi*f2/fs*t)+50*sin(2*pi*f3/fs*t);
y=fft(data);
yabs=abs(y);
n=0:
N/2;
yabs
(1)=yabs
(1)/2;
stem(n*fs/N,2*yabs(1:
N/2+1)/N);
频谱图
实验11数字高通滤波器的设计
%数字高通滤波器的设计,ws=0.2pi,wp=0.6pi,as=15,ap=2;
用巴特沃斯滤波器设计。
wp=0.6*pi;
ws=0.2*pi;
t=2;
fs=1/t;
wp=2/t*tan(wp/2);
ws=2/t*tan(ws/2);
[numg,deng]=lp2hp(num,den,1);
[numz,denz]=bilinear(numg,deng,fs);
分子多项式的系数为'
分母多项式的系数为'
ap=%f\n'
as=%f\n'
0.01:
1.2*pi;
plot(w/(2*pi),20*log10(abs(h)));
分子多项式的系数为
3.7521e-01
-7.5042e-01
分母多项式的系数为
-3.1201e-01
1.8884e-01
ap=0.394549
as=15.000000
输出图像
用切比雪夫1型滤波器设计。
1.7097e-01
-3.4195e-01
5.6036e-01
4.2134e-01
ap=2.000000
as=28.530518
用切比雪夫2型滤波器设计。
3.2784e-01
-4.1044e-01
1.5646e-01
2.2258e-01
as=20.237224
%模拟带通滤波器的设计,wp1=6,wp2=8,ws1=4,ws2=11,ap=1.as=32;
wp1=6,wp2=8,ws1=4,ws2=11,ap=1,as=32;
b=wp2-wp1;
w02=wp1*wp2;
ws1=(ws1*ws1-w02)/(b*ws1);
ws2=(ws2*ws2-w02)/(b*ws2);
ws=min(abs(ws1),abs(ws2));
wp=1;
[num,den]=lp2bp(num,den,sqrt(w02),b);
w=3:
0.1:
12;
plot(w,20*log10(abs(h)));
wp1=6,wp2=8,ws1=4,ws2=11;
w=[ws1wp1wp2ws2];
set(gca,'
xti