首页 数字信号处理实验六报告

数字信号处理实验六报告

举报
开通vip

数字信号处理实验六报告实验六  频域抽样定理和音频信号的处理实验报告 (一)频域抽样定理 给定信号  1.利用DTFT计算信号的频谱 ,一个周期内角频率离散为M=1024点,画出频谱图,标明坐标轴。 n=0:100; %设定n及其取值范围 for n1=0:13 %对于n处于不同的取值范围将n代入不同的表达式 xn(n1+1)=n1+1; end for n2=14:26 xn(n2+1)=27-n2; end for n3=27:100 xn(n3+1)=0; end M=1024; %设定抽样离散点的个数 k=0:M-1;...

数字信号处理实验六报告
实验六  频域抽样定理和音频信号的处理实验报告 (一)频域抽样定理 给定信号  1.利用DTFT计算信号的频谱 ,一个周期内角频率离散为M=1024点,画出频谱图,标明坐标轴。 n=0:100; %设定n及其取值范围 for n1=0:13 %对于n处于不同的取值范围将n代入不同的表达式 xn(n1+1)=n1+1; end for n2=14:26 xn(n2+1)=27-n2; end for n3=27:100 xn(n3+1)=0; end M=1024; %设定抽样离散点的个数 k=0:M-1; %设定k的取值范围 w=2*pi*k/M; %定义数字角频率 [X,w] = dtft2( xn,n, M ) %调用dtft2子程序求频谱 plot(w,abs(X)); %画出幅度值的连续图像 xlabel('w/rad');ylabel('|X(exp(jw))|');title(' M=1024时的信号频谱图像');  %标明图像的横纵坐标和图像标题            function [X,w] = dtft2(xn, n, M ) %定义x(n)的DTFT函数 w=0:2*pi/M:2*pi-2*pi/M;    %将数字角频率w离散化 L=length(n);                            %设定L为序列n的长度 for (k=1:M)                %外层循环,w循环M次 sum=0;            %每确定一个w值,将sum赋初值为零 for (m=1:L)  %内层循环,对n求和,循环次数为n的长度 sum=sum+xn(m)*exp(-j*w(k)*n(m));  %求和 X(k)=sum;  %把每一次各x(n)的和的总值赋给X,然后开始对下一个w的求和过程 end%内层循环结束 end%外层循环结束 M=1024时的信号频谱图像如图1-1所示: 图1-1 M=1024时的信号频谱图像 2.分别对信号的频谱 在区间 上等间隔抽样16点和32点,得到 和 。离散傅里叶反变换后得到时域信号 和 。 M=16时: n=0:100;%设定n及其取值范围 for n1=0:13 %对于n处于不同的取值范围将n代入不同的表达式 xn(n1+1)=n1+1; end for n2=14:26 xn(n2+1)=27-n2; end for n3=27:100 xn(n3+1)=0; end M=16;%设定抽样点的个数 k=0:M-1; %设定k的取值范围 w=2*pi*k/M; %定义数字角频率 [X,w] = dtft2( xn,n, M ) %调用dtft2子程序求频谱 stem(w,abs(X),'.'); %画出幅度值的抽样离散图像 xlabel('k');ylabel('X16(k)');title('X(exp(jw))的16点抽样');%标明横纵坐标和图像标题 M=32时只需将程序中的M值改变即可,子函数程序同实验一。 16点抽样的图形如图1-2-1所示: 图1-2  的16点抽样 32点抽样的图形如图1-2-2所示: 图1-2-2 的32点抽样 3.画出信号 和 的图形,计算 与 和 的均方误差。从时域角度上进行对比和分析,验证频域抽样定理。 M=16时: function xn=idft(Xk,N) N=length(Xk); for n=0:N-1 sum=0; for k=0:N-1 sum=sum+(1/N)*(Xk(k+1)*exp(j*2*pi*n*k/N)); end xn(n+1)=sum; end n=0:26; %设定n及其取值范围 for n1=0:13 %对于n处于不同的取值范围将n代入不同的表达式 xn(n1+1)=n1+1; end for n2=14:26 xn(n2+1)=27-n2; end M=16; %设定抽样点的个数 k=0:M-1; %设定k的取值范围 w=2*pi*k/M; %定义数字角频率 [X,w] = dtft2( xn,n, M ) %调用dtft2子程序求频谱 xn=idft(X,M) %调用idft求时域信号xn m=0:15; %限定m的取值范围 stem(m,xn);%画出xn16的离散图像 xlabel('m');ylabel('xn16');title(' M=16时的时域信号图像');  %标明图像的横纵坐标和图像标题  M=16时的时域信号图像如图1-3-1所示: 图1-3-1 M=16时的时域信号图像 M=32时: n=0:26; %设定n及其取值范围 for n1=0:13 %对于n处于不同的取值范围将n代入不同的表达式 xn(n1+1)=n1+1; end for n2=14:26 xn(n2+1)=27-n2; end M=32; %设定抽样点的个数 k=0:M-1; %设定k的取值范围 w=2*pi*k/M; %定义数字角频率 [X,w] = dtft2( xn,n, M ) %调用dtft2子程序求频谱 xn=idft(X,M) %调用idft求时域信号xn m=0:31; %限定m的取值范围 stem(m,xn);%画出xn16的离散图像 xlabel('m');ylabel('xn32');title(' M=32时的时域信号图像');  %标明图像的横纵坐标和图像标题    M=32时的时域信号图像如图1-3-2所示: 图1-3-2 M=32时的时域信号图像 x(n)原信号程序 : n=0:100;%设定n及其取值范围 for n1=0:13%对于n处于不同的取值范围将n代入不同的表达式 x(n1+1)=n1+1; end for n2=14:26 x(n2+1)=27-n2; end for n3=27:100 x(n3+1)=0; end stem(n,x);%画出原信号的时域离散图像 xlabel('n');ylabel('x(n)');title('原信号序列');%标明横纵坐标和图像标题 x(n)原信号图形如图1-3-3所示: 图1-3-3  原信号序列时域图像 计算均方误差:16时:ans =3.9476 32时:ans=0 对信号x(n)的频谱函数X(ejω)在[0,2π]上等间隔采样N=16时, N点IDFT[ ]得到的序列正是原序列x(n)以16为周期进行周期延拓后的主值区序列: 由于NM,满足频域抽样定理,所以不存在时域混叠失真,因此。 与x(n)相同。由此验证了频域抽样定理。 4.利用内插 公式 小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载 ,由 和 分别得到 的估计值,计算          均方误差,从频域角度验证频率抽样定理。 clc,clear n=0:100;%设定n及其取值范围 for n1=0:13%对于n处于不同的取值范围将n代入不同的表达式 xn(n1+1)=n1+1; end for n2=14:26 xn(n2+1)=27-n2; end for n3=27:100 xn(n3+1)=0; end M=1024; N=16;%设定抽样点的个数 k=0:M-1;%设定k的取值范围 w=2*pi*k/M;%定义数字角频率 [X,s]=dtft2( xn, n, N );%调用dtft2子程序求xn的频谱幅度值 Xe=zeros(1,M); %赋Xe序列初值均为零 for b=0:M-1 %外层循环,每次循环赋予sum初值为零 sum=0; for k=0:N-1 %内层循环,对于k的每次循环,代入内插公式累计求和 sum=sum+X(k+1)*((1/N)*(sin(w(b+1)*N/2-k*pi)/sin(w(b+1)/2-k*pi/N))*exp(-j*(N-1)*w(b+1)/2+j*k*pi*(N-1)/N)); end Xe(b+1)=sum; %将循环总值赋予Xe end k=0:M-1;%重新设定k的取值范围 w=2*pi*k/M; %由于k取值范围改变w的取值范围随之改变 subplot(2,1,1);plot(w,abs(Xe));%画出Xe的连续图谱 xlabel('k');ylabel('X16(k)');title('M=16时X(exp(jw))的估计');%标明横纵坐标和图像标题 N=32;%设定抽样点的个数 k=0:M-1;%设定k的取值范围 w=2*pi*k/M;%定义数字角频率 [X,s]=dtft2( xn, n, N );%调用dtft2子程序求xn的频谱幅度值 Xe=zeros(1,M); %赋Xe序列初值均为零 for b=0:M-1 %外层循环,每次循环赋予sum初值为零 sum=0; for k=0:N-1 %内层循环,对于k的每次循环,代入内插公式累计求和 sum=sum+X(k+1)*((1/N)*(sin(w(b+1)*N/2-k*pi)/sin(w(b+1)/2-k*pi/N))*exp(-j*(N-1)*w(b+1)/2+j*k*pi*(N-1)/N)); end Xe(b+1)=sum; %将循环总值赋予Xe end k=0:M-1;%重新设定k的取值范围 w=2*pi*k/M; %由于k取值范围改变w的取值范围随之改变 subplot(2,1,2);plot(w,abs(Xe));%画出Xe的连续图谱 xlabel('k');ylabel('X32(k)');title('M=32时X(exp(jw))的估计');%标明横纵坐标和图像标题 M=16和M=32时的估计图形如图1-4所示: 图1-4  M=16时 的估计和M=32时 的估计 M=16时均方误差为  230.2131 M=32时均方误差为 1.2767e-26 当M小于序列长度时,均方误差较大,不能很好地恢复原序列。当M=32时,满足频域抽样定理,均方误差小到可以忽略不计,认为能不失真地恢复出原序列。由此验证了频域抽样定理。 (二)音频信号的处理 实验内容: 1、语音信号的采集 利用Windows 附件中的录音机,录制一段自己的话音,时间在1 s内。在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,理解采样频率、采样点数等概念。 2、语音信号的频谱分析 画出语音信号的时域波形,然后对语音号进行快速傅里叶变换,得到原始模拟信号的频谱特性,画出频谱图,标注坐标轴。 3、用滤波器对信号进行滤波 在离散时间域,使信号通过冲激响应为 的低通滤波器,得到系统的输出。 4、比较滤波前后语音信号的波形及频谱 5、回放语音信号 在Matlab中,函数sound可以对声音进行回放,调用格式:sound(x,fs,bits),感受滤波前后的声音的变化。 (输入时域波形) x=wavread('1.wav'); %调用wavread函数 n=0:63487; %设定横坐标n和其取值范围 plot(n,x);%调用plot函数画出连续图像 xlabel('n');ylabel('x');title('语音时域波形图'); %标明横纵坐标和标题 (输入频域波形) x=wavread('1.wav'); %调用wavread函数 n=0:63487; M=1024; %设定离散点个数 [X,w] = dtft2(x, n, M ) %调用dtft函数 plot(w,X); %调用plot函数画出频谱的连续图像 xlabel('w');ylabel('X');title('语音频域波形图'); %标明横纵坐标和图像标题 (滤波前后的时域波形) clc,clear N=63519;n=0:N-1;%设定序列的总长度N,为n赋取值范围 M=63488;m=0:M-1;%设定wavread函数序列长度及m的取值范围 B=32;b=0:B-1; %设定h(n)序列的长度及b的取值范围 x=wavread('1.wav'); %调用wavread函数 subplot(2,1,1);plot(m,x); %分配作图空间,调用plot函数画出滤波前的波形 xlabel('n');ylabel('x');title('输入时域波形图');%标明横纵坐标和图像标题 hn=0.5*(1-cos((2*pi*b)/(B-1)));%hn表达式 y=conv((x(:,1))',hn);%调用conv卷积函数求x与hn的卷积 a=0:M+B-2;%设定m的取值范围 subplot(2,1,2);stem(a,y);%画出系统通过滤波器后输出的离散图像 xlabel('n');ylabel('y');title('输出时域波形图');%标明横纵坐标和图像标题 (滤波后的频域波形) clc,clear N=63519;n=0:N-1;%设定序列的总长度N,为n赋取值范围 P=63488;m=0:P-1;%设定wavread函数序列长度及m的取值范围 B=32;b=0:B-1; %设定h(n)序列的长度及b的取值范围 x=wavread('1.wav'); %调用wavread函数 hn=0.5*(1-cos((2*pi*b)/(B-1)));%hn表达式 y=conv((x(:,1))',hn);%调用conv卷积函数求x与hn的卷积 a=0:P+B-2;%设定m的取值范围 M=1024; %设定离散点个数 [Y,w] = dtft2(y, a, M ); %调用dtft函数 plot(w,abs(Y)); axis([-pi,pi,-1000,1000])%调用plot函数画出频谱的连续图像 xlabel('w');ylabel('Y');title('语音输出频域波形图'); %标明横纵坐标和图像标题 仿真图形:见图2-1,图2-2,图2-3: 图2-1 音频信号仿真图形 图2-2滤波前的频域波形图 图2-3 滤波后的频域波形图 收获心得: 在编写程序时注意设定变量的位置(子程序还是主程序),这对于实验结果会产生直接的影响。此外,这次有趣的音频信号实验巧妙地将windows软件与所学知识相结合,让我们在亲身实践中体会数字信号处理带来的乐趣,同样受益匪浅。
本文档为【数字信号处理实验六报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_005190
暂无简介~
格式:doc
大小:74KB
软件:Word
页数:0
分类:
上传时间:2019-08-23
浏览量:31