dsp-软件实验报告_第1页
dsp-软件实验报告_第2页
dsp-软件实验报告_第3页
dsp-软件实验报告_第4页
dsp-软件实验报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、数字信号处理MATLAB仿真实验报告学院:电子工程学院班级:2011211203学号:2011210876姓名:孙月鹏班内序号:04一、实验一:数字信号的FFT分析、实验内容及要求JTit /j1 *;( 45/jjt ) ets(O 102 j.t )4 (1离散信号的频谱分析:设信号此信号的0.3pi和0.302pi两根谱线相距很近,谱线0.45pi的幅度很小,请选择合适的序列长度N和窗函数,用DFT分析其频谱,要求得到清楚的三根谱线。(2 DTMF信号频谱分析用计算机声卡采用一段通信系 统中电话双音多频DTMF)拨号数字09的数据,采用快速傅立叶变换FFT)分析这10个号码DTMF拨号时

2、的频谱2、实验结果x(n的时域图与频谱:得到三根清晰的谱线号码9的频谱号码8的频谱号码7的频谱号码6的频谱、实现代码及分析(1第一小题: k=1000; %DFT 点数n=1:1:k; %对时域信号 进行采样x=0.001*cos(0.45*n*pi+sin(0.3*n*pi-cos(0.302*n*pi-pi/4; subplot(2,1,1;stem(n,x,.; %用.画出 时域图title(时域序列:xlabel(n;ylabel(x(n;xk=fft(x,k; %进行K点DFT变换w=2*pi/k*0:1:k-1; %数字角频 率subplot(2,1,2;stem(w/pi,abs

3、(xk;% 画出频谱图axis(0.2,0.5,0,2; %设置窗函数的 宽度与限幅title(1OOO 点 dft;xlabel(数字频率;ylabel(|xk(k|;%此题关键在于DFT点数N的确定。经过计算和实验,当N=1000时能满足题目要求,看 到 3条清晰地 谱线(2)第二小题clear;closeall;f=941 1336;697 1209;697 1336;6971477;770 1209;770 1336;7701477;8521209;852 1336;852 1477%0-9的频率n=1:400;fs=4000; % 取样频率为 4000hzfprintf( 请输 入数

4、字 (0 to 9:nk=input (f1=f(k+1,1; %因为从0开始计算,+1得输f2=f(k+1,2; %入数字的两个 频率N=400;x1=sin(2*pi*f1*n/fs+sin(2*pi*f2*n/fs;%DTMF 的输入信号时域xn=x1,zeros(1,400; %补零subplot(2,1,1;plot(xn %画出时域图xxxxxx( nyyyyyy(x nsubplot(2,1,2;fn=fs*n/N; %取样点的频率plot(fn,abs(fft(xn(1:400; %400点fft变换,画出频谱图axis(0,4000,0,300xxxxxx(fyyyyyy(F

5、FT二、实验二:DTMF信号的编码1、实验内容及要求1)把您的联系电话号码通过DTMF编码生成为一个.wav文件。技术指标:根据ITU Q.23建议,DTMF信号的技 术指标是:传送/接收率为每秒10个号码,或每个号码 100ms。每个号 码传送过程中,信号存在 时间至少45ms,且不多于55ms,100ms的其余时间是静音。2)对所生成的DTMF文件进行解码。由于只需要知道 8个特定点的 频谱值,因此采用一种称 为Goertzel算法的 IIR滤波器可以有效地提高 计算效率。其传输函数为和小7I 2 5 九T k2、实验结果输入号码界面土诅H * 0 I “* - 生成的时域图占空比为50%

6、 )电话号码的FFT图:每个数字都有两条主 谱线显示检测到的号码3)实验代码及分析%第一部分,产生编码clc;tm=49,50,51,65;52,53,54,66;55,56,57,67;42,48,35,68%DTMF 表中的ASCII 码f1=697,770,852,941; %行频率向量 f2=1209,1336,1477,1633; %列频率向量 d=input(please enter number:,s %输入电话号码 sum=length(d; %电话 号码长度 total_x=; %电话 号码信号 sum_x=;sum_x=sum_x,zeros(1,800;for a=1:s

7、um% 循环 sum 次 symbol=abs(d (a;% 求输入的 ASCII 码 for p=1:4;for q=1:4;if tm(p,q=abs(d(a; break,end %检测码相符的列号 qendif tm(p,q=abs(d(a;break,end %检测码相符的行号 pendn=1:400;x=sin(2*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; %将所有编码连 接起来endsou nd(total_x;

8、 %播放声音t=total_x/2;wavwrite(t,我的手机号码;%生成声音文件plot(total_x;title(DTMF信号时域波形;%代码主要分成三部分,即根据 输入的数字确定双 频率、产生正弦信号和生成文件 以及 绘图。在产生正弦信号的 过程中有增加静音和 连接运算。整体上用循 环对电话 号 码 的每一位 进 行相同 处 理。%第二部分,检测端k=18,20,22,25,32,35,38;N=210;tm=49,50,51;52,53,54;55,56,57;0,48,0;for i=1:sumj=800*(i-1;X=goertzel(total_x(j+1:j+N,k+1;

9、 %算法公式value=abs(X;figure(2subplot(2,6,i;stem(k,value:.,r; %画出 FFT频谱title(FFT x(n ;xlabel(k;ylabel(|X(k|;limit=20;for i1=5:7 %判决,确定频率if value(i1limit break;endendfor j1=1:4if value(j1limit break;endendbuffer(i=tm(j1,i1-4; %根据频率确定号码 enddisp(接收端检测到的号码disp(setstr(buffer%显示检测到的号码%检测端编码首先要根据goertze公式算出FFT

10、,再利用判决的方法找出 频率的分布, 从而确定输入的电话号码。三、实验三:FIR数字滤波器的设计和实现1、实验内容及要求:录制自己的一段声音,长度为45秒,取样频率32kHz,然后叠加一个高斯白噪声,使得信噪比为20dB。请采用窗口法设计一个FIR 带通滤波器,滤除噪声提高质量。提示:滤波器指标参考:通带边缘频率为4kHz,阻带边缘频率为4.5kHz,阻带衰减大于50dB;Matlab函数y = awgn(x,snr,measured;首先测量输入信号x 的功率,然后对其叠加高斯白噪声;2、实验结果原始声音时域图与频谱图叠加白噪声的时域图与频谱图(但明显声音信号太弱,被白噪声盖 过去了)心幅频

11、特性滤波后的时域图与频谱特性(可以看到45Khz以后的频谱都被滤掉了)3、代码及分析% 产生原始 声音 及频谱clear allclose ally1,fs,bits=wavread(record-1.wav; %按照采 样频率取得 y1 y2=y1(:,1;fs=32000;k=1:4096;yk1=fft(y2,4096;figure (1subplot(2,1,1;plot(y2;title(原始声音时域;subplot(2,1,2;plot(32/4096*k,abs(yk1;axis(0,17,0,0.05; xlabel(f/kHZ ;title(原始声音频域;wavplay(y1

12、,42000%加噪及其 频谱y3=awg n(y2,20,measured:db;%awg n?为加性高斯白噪声 yk2=fft(y3,4096;figure (2subplot(2,1,1;plot(y3;title(加噪后声音 时域; subplot(2,1,2;plot(32/4096*k,abs(yk2;xlabel(f/KHZ ;title(加噪后声音频域;wavplay(y3,42000;%滤波器设计 fp=4000;fr=4500;wp=2*pi*fp/fs;wr=2*pi*fr/fs;tr_width=wr-wp;N=ceil(6.6*pi/tr_width+1;n=0:1:N

13、;wc=(wr+wp/2;alpha=(N-1/2;n=0:1:N-1;m=n-alpha+eps;hd=sin(wc*m./(pi*m;b=fir1(N,wc/(4*pi/3.65; w_ham=(hamming(N; h=hd.*w_ham;H,w=freqz(h,1,1000, whole;H=(H(1:1:501;w=(w(1:1:501;mag=abs(H; db=20*log10(mag+eps/max(mag; pha=angle(H;delta_w=2*pi/1000; x=filter(b,1,y3;figure(3 subplot(1,1,1;plot(w/pi,db;ti

14、tle(滤波器幅频响应;x=conv(h,y3;%滤除噪声后 频谱figure(4 subplot(2,1,1;plot(x;title(滤除噪声后时域图;Xk=fft(x,4096;subplot(2,1,2;plot(32/4096*k,abs(Xk;axis(0,16,0,5title(滤除噪声后频域图xlabel(f/KHZ ;wavplay(x,42000;%根据要求,所求的滤波器是一个低通 滤波器%因为衰减大于50DB,窗函数选择了汉明窗4、错误 分析与 总 结问题 主要出在第三道 题目上:1) 实验要求的声音文件格式 为wav,但录音软件的的格式wma,所以需要格式转换。 首先实

15、验的是直接更改格式名,尽管在播放器中可以播放,但仍然不可以 识别;其次 实验的是用matlab直接录音,但频谱集中在录音的采样频率附近,仍不能做正常的 分析;最后用的是格式工厂的 转换,尽管感觉频谱 仍有改 变,但并不影响实验结 果。2) 用matlab对声音进行波形提取后,再用相同的fs播放,会发现声音的频率变低,进 过实验,必须用比fs高一些的频率播放,才能听到正确的声音。3) 对比其他同学的 频谱,发现我的原始声音的 频谱的幅度就很低,加入白噪声之后, 就很难看到声音的 频谱了。但声音的播放就没有什么 问题。直到最后也没有想明白 为 什么。5、心得与 体会在这次实验中,我们分别用MATLAB实现了简单的FFT变换、IIR滤波器设计与FIR 滤波器设计,真切的感受到了 MATLAB 仿真的便

温馨提示

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

评论

0/150

提交评论