北京邮电大学DSP数字信号处理软件实验报告 MATLAB仿真_第1页
北京邮电大学DSP数字信号处理软件实验报告 MATLAB仿真_第2页
北京邮电大学DSP数字信号处理软件实验报告 MATLAB仿真_第3页
北京邮电大学DSP数字信号处理软件实验报告 MATLAB仿真_第4页
北京邮电大学DSP数字信号处理软件实验报告 MATLAB仿真_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、北京邮电大学数字信号处理软件实验Matlab仿真实验学院: 电子工程学院 班级: 2011211207 姓名: 被偷吃的巧克力 学号: 2011XXXXXX 班序: XX号 目录一、实验任务要求及目的 1二、实验时间安排 2三、Matlab代码与仿真结果 3四、结论与总结 13一、实验任务要求及目的:1.1 实验一:数字信号的 FFT 分析1、实验内容及要求(1) 离散信号的频谱分析:设信号此信号的0.3pi 和 0.302pi两根谱线相距很近,谱线 0.45pi 的幅度很小,请选择合适的序列长度 N 和窗函数,用 DFT 分析其频谱,要求得到清楚的三根谱线。(2) DTMF 信号频谱分析用计

2、算机声卡采用一段通信系统中电话双音多频(DTMF)拨号数字 09的数据,采用快速傅立叶变换(FFT)分析这10个号码DTMF拨号时的频谱。2、实验目的通过本次实验,应该掌握:(1) 用傅立叶变换进行信号分析时基本参数的选择。 (2) 经过离散时间傅立叶变换(DTFT)和有限长度离散傅立叶变换(DFT) 后信号频谱上的区别,前者 DTFT 时间域是离散信号,频率域还是连续的,而 DFT 在两个域中都是离散的。(3) 离散傅立叶变换的基本原理、特性,以及经典的快速算法(基2时间抽选法),体会快速算法的效率。(4) 获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的概念,为将

3、来进一步进行时频分析(例如小波)的学习和研究打下基础。(5) 建立 DFT 从整体上可看成是由窄带相邻滤波器组成的滤波器组的概念,此概念的一个典型应用是数字音频压缩中的分析滤波器,例如 DVD AC3 和MPEG Audio。1.2 实验二:DTMF 信号的编码1、实验内容及要求(1) 把您的联系电话号码 通过DTMF 编码生成为一个 .wav 文件:u 技术指标:(时域)u 根据 ITU Q.23 建议,DTMF 信号的技术指标是:传送/接收率为每秒 10 个号码,每个号码 100ms。u 每个号码传送过程中,信号存在时间至少 45ms,且不多于 55ms,100ms 的其余时间是静音。(2

4、) 对所生成的DTMF文件进行解码:u DTMF 信号解码可以采用 FFT 计算 N 点频率处的频谱值,然后估计出所拨号码。但 FFT计算了许多不需要的值,计算量太大,而且为保证频率分辨率,FFT的点数较大,不利于实时实现。因此,FFT 不适合于 DTMF 信号解码的应用。u 由于只需要知道 8 个特定点的频谱值,因此采用一种称为 Goertzel 算法的 IIR 滤波器可以有效地提高计算效率。其传递函数为:2、实验目的(1)复习和巩固 IIR 数字滤波器的基本概念;(2)掌握 IIR 数字滤波器的设计方法;(3)掌握 IIR 数字滤波器的实现结构;(4)能够由滤波器的实现结构分析滤波器的性能

5、(字长效应);(5)了解通信系统电话 DTMF 拨号的基本原理和 IIR 滤波器实现方法。1.3 实验三:FIR 数字滤波器的设计和实现1、实验内容及要求:录制自己的一段声音,(人声)长度为 45(10)秒,取样频率 32kHz,然后叠加一个高斯白噪声,使得信噪比为 20dB。请采用窗口法(263)设计一个 FIR 带通滤波器,滤除噪声提高质量。u 提示:u 滤波器指标参考:通带边缘频率为 4kHz,阻带边缘频率为4.5kHz,阻带衰减大于 50dB;u Matlab 函数 y = awgn(x,snr,measured) ,首先测量输入信号 x 的功率,然后对其叠加高斯白噪声;u 滤波效果,

6、耳机,频谱图2、实验目的:u 通过本次实验,掌握以下知识:u FIR 数字滤波器窗口设计法的原理和设计步骤;u Gibbs 效应发生的原因和影响;u 不同类型的窗函数对滤波效果的影响,以及窗函数和长度 N 的选择。二、实验时间安排u 第一次课安排整个实验的任务要求和计划安排,并于第一次课后完成实验1.1内容来熟悉Matlab,自学课本4.9.3和5.3.4的内容;u 第二次课对整个实验进行百分百全方位讲解,让学生明白具体怎样使用代码实现实验要求的功能,并与课后完成所有实验要求;u 第三次课对整个实验进行验收,检查学生完成情况。三、Matlab代码与仿真结果3.1数字信号的 FFT 分析(1)

7、离散信号的频谱分析:- 以下为代码部分 -n=0:1:999;x=0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4);y=fft(x,1000);stem(abs(y);%清晰的谱线在 150 151 225 点处- 以下为图形部分 -上图可以看到,没有混叠,为了便于观察三根清晰的谱线,选择放大观察,见下面两图结果。上图可以看出,在第151和152有两根峰值很高的谱线上图可以看出,在第226有一个清晰的但是峰值很小的谱线。(2) DTMF 信号频谱分析:- 以下为代码部分 -N = 205; %fft点数n = 0:N-1; a1 =

8、 cos(2*pi*697/8000*n); %低频的四个频率a2 = cos(2*pi*770/8000*n);a3 = cos(2*pi*852/8000*n);a4 = cos(2*pi*941/8000*n); b1 = cos(2*pi*1209/8000*n); %高频的四个频率b2 = cos(2*pi*1336/8000*n);b3 = cos(2*pi*1477/8000*n);b4 = cos(2*pi*1633/8000*n); num_1 = a1+b1; num_2 = a1+b2; num_3 = a1+b3; num_A = a1+b4; % 1 2 3 Anum

9、_4 = a2+b1; num_5 = a2+b2; num_6 = a2+b3; num_B = a2+b4; % 4 5 6 Bnum_7 = a3+b1; num_8 = a3+b2; num_9 = a3+b3; num_C = a3+b4; % 7 8 9 Cnum_x = a4+b1; num_0 = a4+b2; num_j = a4+b3; num_D = a4+b4; % * 0 # D num = fft(num_0);fft(num_1);fft(num_2);fft(num_3);fft(num_4);fft(num_5);fft(num_6);fft(num_7);f

10、ft(num_8);fft(num_9); %频谱分析 for i = 1:10 subplot(2,5,i); stem(abs(num(i,:); axis(0 N 0 120); title(号码,num2str(i-1),的频谱);end- 以下为图形部分 -可以看出,每个号码由两个峰值很高的频率相加而成。3.2 DTMF 信号的编码(1) 把您的联系电话号码 通过DTMF 编码生成为一个 .wav 文件:- 以下为代码部分 -x = linspace(0,0,400); n = 0:399; a1 = cos(2*pi*697/8000*n);a2 = cos(2*pi*770/80

11、00*n);a3 = cos(2*pi*852/8000*n);a4 = cos(2*pi*941/8000*n); b1 = cos(2*pi*1209/8000*n);b2 = cos(2*pi*1336/8000*n);b3 = cos(2*pi*1477/8000*n);b4 = cos(2*pi*1633/8000*n); num_1 = a1+b1;num_2 = a1+b2;num_3 = a1+b3;num_A = a1+b4;num_4 = a2+b1;num_5 = a2+b2;num_6 = a2+b3;num_B = a2+b4;num_7 = a3+b1;num_8

12、= a3+b2;num_9 = a3+b3;num_C = a3+b4;num_x = a4+b1;num_0 = a4+b2;num_j = a4+b3;num_D = a4+b4; y=num_1,x,num_8,x,num_6,x,num_0,x,num_7,x,num_9,x,num_5,x,num_8,x,num_4,x,num_9,x,num_5,x; plot(y);sound(y,8000); %wavwrite(y,ZF_TelNumber);- 以下为图形部分 -生成一个wav文件,为拨号声音。(2) 对所生成的DTMF文件进行解码:- 以下为代码部分 -N = 205;

13、%取样点数Fs = 8000; %采样频率 k = 18 20 22 24 31 34 38 42; %每个频率对应的频率点 x,fs,nbits= wavread(ZF_TelNumber.wav);figureplot(x);title(时域编码波形);sound(x,fs);pause(length(x)/fs); y = reshape(x,800,11);%将数组变为一个800x11的矩阵a = zeros(8,11);b = a;c = b; for n = 1 : N %计算Vk(N) a = b; b = c; c = 2*diag(cos(2*pi*k/N)*b - a +

14、ones(8,1)*y(n,:); end Xk = c.*c + b.*b - 2*diag(cos(2*pi*(k)/N)*(c.*b) %计算Vk平方B = sort(Xk);figurefor i = 1:11 subplot(3,4,i); stem(Xk(:,i); title(第,num2str(i),个信号各频率的能量);end for j = 1:11 Out(:,j)=find(Xk(:,j)B(6,j); %end jian = 1 2 3 11;4 5 6 12; 7 8 9 13;15 0 16 14;%11=A 12=B 13=C 14=D 15=* 16=# te

15、l = zeros(1,11);for i = 1:11 tel(1,i) = jian(Out(1,i),Out(2,i)-4);endtel- 以下为图形部分 -上面为编码的时域波形,每个号码为0.1s,其中有用信号为0.05s,采样频率为8000Hz,每个有用信号对应0.05*8000=400个点,有11个信号。通过Goertzel 算法算得八个点的能量值,其中18分别从低频对应到高频。十一个信号的能量谱由上图所示。88个Xk的平方值。以上为解码得到的结果,与编码时输入的电话号码相同。3.3 FIR 数字滤波器的设计和实现请采用窗口法(263)设计一个 FIR 带通滤波器,滤除噪声提高质

16、量。- 以下为代码部分 - x,fs,nbits= wavread(Adele - Rolling In the Deep1.wav); Fs = 32000;%取样频率为32k figurestem(abs(fft(x),.);title(原信号频率);sound(x,fs);pause(length(x)/fs+0.5);% 以下为添加高斯白噪声y = awgn(x,20,measured); %添加20dB的噪声figurestem(abs(fft(y),.);title();sound(y,fs);pause(length(x)/fs+0.5);% 以下为滤波器设计A = 0.54;

17、B = 0.46; C = 0;%使用汉明窗 N = ceil(6.6*pi/(2*pi*500/Fs);t = (N-1)/2; n = 0:N-1;wn = A - B*cos(2*pi*n/N) + C*cos(2*pi*n/N);hd = sin(n-t)*(2*pi*4250/Fs)./(n-t)*pi);h = wn.*hd; %FIR冲击响应figurestem(abs(fft(h),.);title(滤波器的频率响应);% 以下为滤除噪声z = filter(h,1,y);figurestem(abs(fft(z),.);title(经过低通滤波器后的频谱);sound(z,fs);- 以下为图形部分 -上图为原信号的频谱。上图为加了高斯白噪声后的频谱。上图为经过了低通滤波器后的频谱,可以看到高频部分噪声基本被滤除,但是由于原信号为女声清唱,部分高频信号被滤除了,导致了声音有部分失真,但还是能清楚分辨出滤波后和滤波前的声音变化,噪声变小了。上图为低通滤波器的频响,可以看出,非常好的拟合了理想低通滤波器的频响。四、实验结论与总结通过本次实验,我们使用matlab软件对数

温馨提示

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

评论

0/150

提交评论