数字信号处理实验报告讲解.docx
- 文档编号:915967
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:26
- 大小:513.39KB
数字信号处理实验报告讲解.docx
《数字信号处理实验报告讲解.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告讲解.docx(26页珍藏版)》请在冰豆网上搜索。
数字信号处理实验报告讲解
实验报告
实验一:
1.用三种不同的DFT程序计算x(n)=R8(n)的傅里叶变换;比较三种程序计算机运行时间。
(1)编制用forloop语句的M函数文件dft1.m,用循环变量逐点计算X(k);
(2)编写用Matlab矩阵运算的M函数文件dft2.m,完成下列矩阵运算;
(3)调用FFT库函数,直接计算X(k);
(4)编写M程序文件,分别得到序列x(n)的傅里叶变换,并画出相应的幅频和相频特性;比较用三种不同方式编写的DFT程序各自的计算机运行时间。
%%%主程序:
x=[ones(1,8),zeros(1,248)];
t=cputime;
[Am1,pha1]=dft1(x);
t1=cputime-t;
n=[0:
(length(x)-1)];
w=(2*pi/length(x))*n;
figure
(1);
subplot(2,1,1);
plot(w,Am1,'b');
title('Magnitudepart');
xlabel('frequencyinradians');
ylabel('|X(exp(jw))|');
subplot(2,1,2),plot(w,pha1,'r');grid;
xlabel('frequencyinradians');
ylabel('arg(X[exp(jw)]/radians|');
%%%%子程序dft1.m
function[Am,pha]=dft1(x)
N=length(x);
w=exp(-j*2*pi/N);
fork=1:
N
sum=0;
forn=1:
N
sum=sum+x(n)*w^((k-1)*(n-1));
end
Am(k)=abs(sum);
pha(k)=angle(sum);
End
%%%%子程序dft2.m
function[Am,pha]=dft2(x)
N=length(x);
n=[0:
N-1];
k=[0:
N-1];
w=exp(-j*2*pi/N);
nk=n'*k;
wnk=w.^(nk);
Xk=x*wnk;
Am=abs(Xk);
pha=angle(Xk);
%%%%子程序dft3.m
function[Am,pha]=dft3(x)
Xk=fft(x);
Am=abs(Xk);
pha=angle(Xk);
运行结果:
t1=0.1563t2=0.2969t3=0
2.用DFT实现两序列的卷积运算,并研究DFT点数与混迭的关系
给定:
x(n)=n*R16(n),h(n)=R8(n),用FFT和IFFT分别求线性卷积及混叠结果的输出,画出相应的图形(用stem(n,y)).
N=16;
x=[0:
N-1];
h=ones(1,8);
Xk1=fft(x,23);%做23点fft
Hk1=fft(h,23);
Yk1=Xk1.*Hk1;
y1=ifft(Yk1);
n=0:
22;
figure
(1)
stem(n,y1);
Xk2=fft(x);
Hk2=fft(h,16);%做16点fft
Yk2=Xk2.*Hk2;
y2=ifft(Yk2);
n=0:
15;
figure
(2)
stem(n,y2)
3.高密度频谱与高分辨率频谱的研究
对连续信号以fs=32kHz对xa(t)采样:
1)做N=16点的采样和补零到256点的频谱;
2)做N=256点的采样,并做出其FFT幅度特性;做出分析。
fs=32000;%采样频率
N=16;%采集16点
n=0:
N-1;%做16点DFT
xa=cos(2*pi*6.5*10^3*n/fs)+cos(2*pi*7*10^3*n/fs)+cos(2*pi*9*10^3*n/fs);
[Am1,pha1]=dft3(xa);
n=[0:
(length(xa)-1)];
w=(2*pi/length(xa))*n;
figure
(1)
plot(w,Am1,'b');grid;
title('Magnitudepart');
xlabel('frequencyinradians');
ylabel('|X(exp(jw))|');
x=[xa(1:
16),zeros(1,240)];%补零到256
[Am2,pha2]=dft2(x);%做256点DFT
n=[0:
(length(x)-1)];
w=(2*pi/length(x))*n;
figure
(2)
plot(w,Am2,'b');grid;
title('Magnitudepart');
xlabel('frequencyinradians');
ylabel('|X(exp(jw))|');
N0=256;%采集256点
n0=0:
N0-1;%做256点DFT
xa0=cos(2*pi*6.5*10^3*n0/fs)+cos(2*pi*7*10^3*n0/fs)+cos(2*pi*9*10^3*n0/fs);
[Am3,pha3]=dft3(xa0);
n=[0:
(length(xa0)-1)];
w=(2*pi/length(xa0))*n;
figure(3)
plot(w,Am3,'b');grid;
title('Magnitudepart');
xlabel('frequencyinradians');
ylabel('|X(exp(jw))|');
实验2IIR数字低通Butterworth滤波器的设计
一.编写设计数字滤波器所需函数:
1.确定滤波的阶数N和3dB截止频率:
[N,Wc]=Buttord(Wp,Ws,Rp,Rs)
函数returnstheorderNofthelowestorderdigitalButterworthfilterthatlosesnomorethanRpdBinthepassbandandhasatleastRsdBofattenuationinthestopband.WpandWsarethepassbandandstopbandedgefrequencies,andnormalizedfrom0to1(where1correspondstopiradians).Forexample,
Lowpass:
Wp=0.1,Ws=0.2
2.确定滤波器的系统函数[B,A]=BUTTER(N,Wc)
DesignsanNthorderlowpassdigitalButterworthfilterandreturnsthefiltercoefficientsinlengthN+1vectorsB(numerator)andA(denominator).Thecoefficientsarelistedindescendingpowersofz.
3.Freqz:
数字滤波器的频率响应[H,w]=freqz(B,A,n)
4.Zplane:
画零极点图zplane(B,A)
5.Filter:
利用设计的滤波器对信号进行滤波y=filter(B,A,x)
三.实验内容和要求
1.设计满足下列指标要求的数字低通滤波器:
通带起始频率Wp=0.2π,通带允许起伏αp=-3dB
阻带起始频率Ws=0.4π,阻带衰减αs=-30dB
2.连续信号s1(t)=sin(2*π*100*t),以fs=2000Hz对s1(t)采样(采100个点);此信号在传输过程中受到一噪声信号s2(t)的影响,其幅度约为s1(t)的1/10,s2(t)用randn(1,N)模拟。
试观察此信号(s1(t)+s2(t))通过以上设计的滤波器后的波形。
3.要求:
①画出设计数字滤波器的幅频特性曲线;
②画出s1(t),s1(t)+s2(t),以及s1(t)+s2(t)通过滤波器后的波形。
脉冲响应不变法:
T=1;
wp=0.2*pi/T;
ws=0.4*pi/T;
rp=-3;
rs=-30;
[N,wc]=buttord(wp,ws,rp,rs,'s');
[B,A]=butter(N,wc,'s');
[Bz,Az]=impinvar(B,A);
[Hz,W]=freqz(Bz,Az);
plot(W/pi,20*log10(abs(Hz)));gridon;
axis([01-18010]);
xlabel('w/π');ylabel('幅度/dB)');
fs=2000;
N=100;
n=0:
N-1;
s1=sin(2*pi*100*n/fs);
s2=0.1*randn(1,N);
s=s1+s2;
y=filter(Bz,Az,s);
figure,
subplot(3,1,1),plot(n,s1);
subplot(3,1,2),plot(n,s);
subplot(3,1,3),plot(n,y);
双线性变换法:
T=1;Fs=1/T;
wpz=0.2;wsz=0.4;
wp=2*tan(wpz*pi/2);ws=2*tan(wsz*pi/2);rp=-3;rs=-30;
[N,wc]=buttord(wp,ws,rp,rs,'s');
[B,A]=butter(N,wc,'s');
[Bz,Az]=bilinear(B,A,Fs);
[Nd,wdc]=buttord(wpz,wsz,rp,rs);
[Bdz,Adz]=butter(Nd,wdc);
[Hz,W]=freqz(Bdz,Adz);
plot(W/pi,20*log10(abs(Hz)));gridon;
axis([01-18010]);
xlabel('w/π');ylabel('幅度/dB)');
fs=2000;
N=100;
n=0:
N-1;
s1=sin(2*pi*100*n/fs);
s2=0.1*randn(1,N);
s=s1+s2;
y=filter(Bdz,Adz,s);
figure,
subplot(3,1,1),plot(n,s1);
subplot(3,1,2),plot(n,s);
subplot(3,1,3),plot(n,y);
实验三、四语音信号的滤波
一、实验内容
1.录制一段自己的语音信号(单通道,采样率8kHz);
2.画出采样后的语音信号的时域波形和频谱图,回放该语音信号;
3.给语音信号加噪声(自己选择噪声),并画出加噪语音信号的时域波形和频谱图;回放加噪后的语音信号。
4.IIR滤波:
用butterworth滤波器完成滤波,画出滤波器的幅频特性图,butterworth滤波器的指标自己根据实际情况设定,并回放滤波后的语音信号。
closeall;clearall;
[y,fs,bits]=wavread('t4.wav');%读入声音文件,y是内容,fs是采样频率,bits是比特数
sound(y,fs,bits);%回放声音
Y1=fft(y);%计算频谱
figure,
subplot(2,1,1),plot(y),title('原始语音信号');%做原始语音信号的时域图形
subplot(2,1,2);plot(abs(Y1)),titl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实验 报告 讲解