数字信号处理上机实验matlab程序及结果

上传人:第*** 文档编号:55332115 上传时间:2018-09-27 格式:DOC 页数:27 大小:159KB
返回 下载 相关 举报
数字信号处理上机实验matlab程序及结果_第1页
第1页 / 共27页
数字信号处理上机实验matlab程序及结果_第2页
第2页 / 共27页
数字信号处理上机实验matlab程序及结果_第3页
第3页 / 共27页
数字信号处理上机实验matlab程序及结果_第4页
第4页 / 共27页
数字信号处理上机实验matlab程序及结果_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《数字信号处理上机实验matlab程序及结果》由会员分享,可在线阅读,更多相关《数字信号处理上机实验matlab程序及结果(27页珍藏版)》请在金锄头文库上搜索。

1、研究生研究生数字信号处理数字信号处理 (dsp) 上机上机 MATLAB 实验实验 实验 1 熟悉 MATLAB 环境,会用 FFT 求信号频谱,相关方法去除噪 声。 %生成一个带有噪声的正弦信号 clear; t=linspace(-2*pi,2*pi,1000); y=sin(t)+rand(1,1000); plot(y); 波形图: %把带有噪声的正弦信号进行 FFT 分解 z=fft(y); plot(t,z); 波形图: %用相关方法除噪声 f=xcorr(y,y); plot(f); 波形图: 实验 2 利用相关算法求信号的幅值和相位 %用相关性求信号的幅值与相位 clear;

2、t=linspace(-2*pi,2*pi,1000); s=5*sin(t+pi/6)+rand(1,1000); y=3*sin(t)+rand(1,1000); ss=s.*s; sy=s.*y; yy=y.*y; x1=length(ss); x2=length(yy); x3=length(sy); rx0=sum(ss)/x1; ry0=sum(yy)/x2; rxy0=sum(sy)/x3; A=sqrt(2*rx0); B=sqrt(2*ry0); C=acos(2*rxy0/(A*B); sprintf(A=%d,B=%d,C=%d,A,B,C) 命令窗口输出结果: A=5.

3、086632e+00,B=3.109529e+00,C=5.355640e-01 %用改进的相关算法求幅值和相位 clear; t=linspace(-2*pi,2*pi,1000); s=5*sin(t+pi/6)+rand(1,1000); 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/rs

4、z); A=2*rsz/(B*cos(C); sprintf(A=%d,B=%d,C=%d,A,B,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(阶数为%dn,n); num,den=butt

5、er(n,wc,s); %z,p,k=buttap(n); disp(分子多项式系数分别为); fprintf(%.4en,num); disp(分母多项式系数分别为); fprintf(%.4en,den); w=wp ws; h1=freqs(num,den,w); fprintf(Ap=%.4en,-20*log10(abs(h1(1); fprintf(As=%.4en,-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); xlab

6、el(Hz); ylabel(dB); title(幅频特性); 输出结果: 阶数为 8 分子多项式系数分别为 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 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 6.2187e+30 Ap=6.1668e-01 As=4.0000e+01 图形为 实验四

7、实验四 设计一个高通滤波器设计一个高通滤波器 %设计一个高通滤波器 fp=5khz,fs=1khz,ap=40db; fp=5000; fs=1000; ap=1; as=40; wp=1/(2*pi*fp); ws=1/(2*pi*fs); n,wc=buttord(wp,ws,ap,as,s); disp(阶数为); disp(n); num,den=butter(n,wc,s); numt,dent=lp2hp(num,den,1); disp(高通滤波器分子多项式系数); fprintf(%.4en,numt) disp(高通滤波器分母多项式系数); fprintf(%.4en,den

8、t) w=1/wp 1/ws; h1=freqs(numt,dent,w); fprintf(Ap=%.4en,-20*log10(abs(h1(1) fprintf(Bp=%.4en,-20*log10(abs(h1(2) w1=0:200:12000*pi; h=freqs(numt,dent,w1); gain=20*log10(abs(h); plot(w1/(2*pi),gain); xlabel(频率); ylabel(幅值); 输出结果:输出结果: 阶数为 4 高通滤波器分子多项式系数 1.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0

9、000e+00 高通滤波器分母多项式系数 1.0000e+00 5.1920e+04 1.3478e+09 2.0497e+13 1.5585e+17 Ap=1.0977e-01 Bp=4.0000e+01 图形 实验 5 用 FFT 设计低通滤波器 %用 fft 变换设计低通滤波器 clear; 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);%显示波形 xlabel(时间); ylabel(

10、幅值); title(原始信号); 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); xlabel(时间); ylabel(幅值); title(滤波以后的低频信号); 输出图形为 实验六 用 FFT 高通滤波器设计 %用 fft 变换设计低通滤波器 clear; N=100; n=

11、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);%显示波形 xlabel(时间); ylabel(幅值); title(原始信号); ffty=fft(y);%进行快速傅里叶变换 ffty1=ffty; ffty1(f1/(fs/N)+1)=0;%f2 频率对应的幅值为零 ffty1(N-f1)/(fs/N)+1)=0;%f2/2 频率对应 f2 的对称频率值对应幅值为零 yy=ifft(ffty1);%逆 ff

12、t 变换 subplot(212); plot(2*pi*f2/fs*n,yy); xlabel(时间); ylabel(幅值); title(滤波以后的高频信号); 输出图形为 实验 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,s); num,den=butter(n,wc,s); numz,denz=bi

13、linear(num,den,fs); disp(分子多项式的系数); fprintf(%.4en,numz); disp(分母多项式的系数); fprintf(%.4en,denz); w=wp ws; h=freqz(numz,denz,w); fprintf(ap=%.4fn,-20*log10(abs(h(1); fprintf(as=%.4fn,-20*log10(abs(h(2); w=linspace(0,2*pi,1024); h=freqz(numz,denz,w); gain=20*log10(abs(h); plot(w/pi,gain); xlabel(Normaliz

14、ed frequency); ylabel(Gain,dB); axis(0 1 -50 0); grid; 输出结果 分子多项式的系数 1.5777e-01 3.1555e-01 1.5777e-01 分母多项式的系数 1.0000e+00 -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; clear; wp=2*pi*1000,ws=2*pi*2000,ap=1,as=40; n,wc

15、=cheb1ord(wp,ws,ap,as,s); num,den=cheby1(n,ap,wc,s); disp(分子多项式的系数); fprintf(%.4fn,num) disp(分母多项式的系数); fprintf(%.4fn,den) w=wp ws; h=freqs(num,den,w); fprintf(ap=%.4fn,-20*log10(abs(h(1); fprintf(as=%.4fn,-20*log10(abs(h(2); w=0:200:12000*pi; h=freqs(num,den,w); gain=20*log10(abs(h); plot(w/(2*pi),gain); 输出结果 分子多项式的系数 0.0000 0.0000 0.0000 0.0000 0.0000 1202796127888840400.0000 分母多项式的系数 1.0000 5886.2145 66671782.4829 241699153902.8650 904788863911639.0000 1202796127888840400.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; n,wc=che

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号