DSP软件实验报告--matlab-北邮_第1页
DSP软件实验报告--matlab-北邮_第2页
DSP软件实验报告--matlab-北邮_第3页
免费预览已结束,剩余9页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP 软件实验报告 -matlab- 北 邮实验一:数字信号的 FFT分析1. 实验目的 通过本次试验,应该掌握:( a) 用傅里叶变换进行信号分析时基本参数的选择( b) 经过离散时间傅里叶变换和有限长度离散傅里叶变换后信号频谱上的区别,前者 DTFT时间域是离散信号,频率域还是连续的,而 DFT在两个域中都是离散的。c)d)e)离散傅里叶变化的基本原理、特性,以及经典的快速算法(基 2 时间抽选法) 速算法的效率 获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的 概念,为将来进一步进行时频分析(例如小波)的学习和研究打下基础。 建立 DFT从整体上可看成是由窄带

2、相邻滤波器组成的滤波器组的概念,此概念的 典型应用时数字音频压缩中的分析滤波器,例如 DVD AC3和 MPEG Audio。,体会快2. 实验内容、要求及结果。(1)离散信号的频谱分析:设信号 x(n)=0.001*cos(0.45n )+sin(0.3n )-cos(0.302n - 4 )此信号的 0.3和 0.302两根谱线相距很近,谱线 0.45 的幅度很小,请选择合适的序列长度 N和窗函数,用 DFT分析其频谱,要求得到清楚的三根谱线。all【实验代码】: clear;close N=5000; n=1:1:N; x=0.001*cos(0.45*n*pi)+sin(0.3*n*p

3、i)-cos(0.302*n*pi-pi/4); y=fft(x,N);a=abs(y(1:1:N/2+1); k=0:1:N/2; w=2*pi/N*k; stem(w/pi,a); axis(0.29,0.46,0,10);实验结果图】:2)DTMF信号频谱分析 用计算机声卡采集一段通信系统中电话双音多频( DTMF)拨号数字 09 的数据,采 用快速傅里叶变换( FFT)分析这 10 个号码 DTMF拨号时的频谱。【实验代码】:clear;close all ;column=1209,1336,1477,1633;line=697,770,852,941fs=10000;N=1024;t

4、s=1/fs;n=0:N-1;f=0:fs/N:fs/N*(N-1);key=zeros(16,N);key(1,:)=cos(2*pi*column(1)*n*ts)+cos(2*pi*line(1)*n*ts);key(2,:)=cos(2*pi*column(2)*n*ts)+cos(2*pi*line(1)*n*ts);key(3,:)=cos(2*pi*column(3)*n*ts)+cos(2*pi*line(1)*n*ts);key(4,:)=cos(2*pi*column(1)*n*ts)+cos(2*pi*line(2)*n*ts);key(5,:)=cos(2*pi*col

5、umn(2)*n*ts)+cos(2*pi*line(2)*n*ts);key(6,:)=cos(2*pi*column(3)*n*ts)+cos(2*pi*line(2)*n*ts);key(7,:)=cos(2*pi*column(1)*n*ts)+cos(2*pi*line(3)*n*ts);key(8,:)=cos(2*pi*column(2)*n*ts)+cos(2*pi*line(3)*n*ts);key(9,:)=cos(2*pi*column(3)*n*ts)+cos(2*pi*line(3)*n*ts);key(10,:)=cos(2*pi*column(2)*n*ts)+c

6、os(2*pi*line(4)*n*ts);figure;for i=1:10subplot(4,4,i)plot(f,abs(fft(key(i,:);grid;end【实验结果图】:实验二: DTMF信号的编码1. 实验目的:( a) 复习和巩固 IIR 数字滤波器的基本概念;( b) 掌握 IIR 数字滤波器的设计方法;( c) 掌握 IIR 数字滤波器的实现结构;( d) 能够由滤波器的实现结构分析滤波器的性能(字长效应) ;( e) 了解通信系统电话 DTMF拨号的基本原理和 IIR 数字滤波器的实现方法。2. 实验内容、要求及结果:1) 把你的联系电话号码通过 DTMF编码生成一个

7、 .wav 文件技术指标:根据 ITU Q.23 建议,DTMF信号的技术指标是:传送 /接收率为每秒 10个号码,或每个号 码 100ms。每个号码传送过程中,信号存在时间至少 45ms,且不多于 55ms,100ms的其余时间是静号,均被正 尽量少)在每个频率点上允许有不超过 ±1.5%的频率误差。任何超过给定频率 ±3.5%的信 认为是无效的,拒绝接收。(其中关键是不同频率的正弦波的产生。可以使用查表方式模拟产生两个不同频率的 弦波。正弦表的制定要保证合成信号的频率误差在 ±1.5%以内,同时是取样点数【实验代码】:d=input(' 请键入电话号码

8、: ','s');sum=length(d);total_x=;sum_x=;sum_x=sum_x,zeros(1,800);for a=1:sumsymbol=abs(d(a);tm=49,50,51,65;52,53,54,66;55,56,57,67;42,48,35,68;for p=1:4;for q=1:4;if tm(p,q)=abs(d(a);break,endendif tm(p,q)=abs(d(a);break,end end f1=697,770,852,941; f2=1209,1336,1477,1633; n=1:400; x=sin(2

9、*pi*n*f1(p)/8000)+sin(2*pi*n*f2(q)/8000); x=x,zeros(1,400);sum_x=sum_x+x; total_x=total_x,x;end wavwrite(total_x,'soundwave') sound(total_x);subplot(2,1,1);plot(t,total_x);axis(0,1.2,-2,2);xlabel(' 时间 /s') title('DTMF 信号时域波形 ') xk=fft(x); mxk=abs(xk);subplot(2,1,2);k=(1:800)*

10、sum*8000/800;plot(k,mxk);xlabel(' 频率 ');title('DTMF 信号频谱 ');disp(' 双频信号已生成并发出 ')【实验结果图】:2) 对所生成的 DTMF文件进行解码。 DTMF信号解码可以采用 FFT计算 N 点频率处的频谱值, 然后估计出所拨号码。但 FFT计算了许多不需要的值,计算量太大,而且为保证频率 分辨率, FFT 的点数较大,不利于实时实现。因此, FFT不适合于 DTMF信号解码的应 用。由于只需要知道 8 个特定点的频谱值, 因此采用一种称为 Goertzel 算法的 IIR 滤波

11、器可1-2cos( 2Nk)Z -1 +Z -2实验代码】:k=18 20 22 24 31 34 38 42;N=205;disp(' 接收端检测到的号码为 ') for a=1:summ=800*(a-1);X=goertzel(total_x(m+1:m+N),k+1);val=abs(X);xk2=val.2;xk2limit=80;for s=5:8if val(s)>limit,break,endfor r=1:4if val(r)>limit,break,endenddisp(setstr(tm(r,s-4)end实验结果图】:实验三: FIR 数字滤

12、波器的设计和实现1. 实验目的: 通过本次试验,掌握一下知识:? FIR 数字滤波器窗口设计法的原理和设计步骤;? Gibbs 效应发生的原因和影响;? 不同类型的窗函数对滤波效果的影响,以及窗函数和长度 N 的选择(效果,耳机听前后声音,或者看前后的频谱图)2. 实验内容、要求及结果:录制一段自己的声音,长度为十几秒,取样频率 32khz,然后叠加一个高斯白噪声, (知 道噪声分布,知道噪声功率,只要知道输入信号功率) ,使得信噪比为 20db。请采用 窗口法,设计一个 FIR 带通滤波器,滤除噪声提高质量。提示:滤波器指标参考:通带边缘频率为 4khz ,阻带边缘频率为 4.5khz ,阻

13、带衰减大于 50db; Matlab 函数 y=awgn(x,snr, 'measured'), 首先测量输入信号 x 的功率,然后对其叠加 高斯白噪声。【实验代码】:clc, clearfs=32000;x,fs,bits=wavread('wo.wav');snr=20;x2=awgn(x,snr,'measured','db');wavwrite(x2,fs,16,'wo-1.wav');t=0:1/fs:(size(x2)-1)/fs;wp=8000*pi/32000;ws=9000*pi/32000;wd

14、elta=ws-wp;N=ceil(11*pi/wdelta); % 取整wn=(ws+wp)/2;b=fir1(N,wn/pi,blackman(N+1); % 选择窗函数,并归一化截止频率figure(1)freqz(b,1,512)f2=filter(b,1,x2);title(' 滤波器幅频、相频特性 ');figure(2)subplot(2,1,1)plot(t,x2)title(' 滤波前时域波形 ');subplot(2,1,2)plot(t,f2)title(' 滤波后时域波形 ');F0=fft(f2,1024);f=fs*(

15、0:511)/1024;figure(3)y2=fft(x2,1024);subplot(2,1,1)plot(f,abs(y2(1:512);title(' 滤波前频谱 ')xlabel('Hz'); ylabel(' 幅度 '); subplot(2,1,2)F2=plot(f,abs(F0(1:512); title(' 滤波后频谱 ') xlabel('Hz'); ylabel('幅度 ');wavwrite(f2,fs,16,'wo-2.wav');【实验结果图】:实验总结:这次的 matlab 实验让学到了许多,以前是学过 matlab 的,但是已经忘的差不多了,正 好有这次机会让我重新复习相关的知识。 把 matlab 与数字信号处理的相关知识很好的联系到 一起。在数字信号处理的理论课上, 对于傅里叶变换、 数字滤波器等知识的了解并不是很深刻, 但是通过这次试验,我更好的理解了用傅里叶变换进行信号分析时基本参数的选择、离散时 间傅里叶变换和有限长度离散傅里叶变换后信号频谱上的区别、 离散傅里叶变化的基本原理、 特性,以及经典的快速算法的效率,也更好的掌握了 I

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论