数字信号管理组织上机作业任务
数字信号处理上机实验1
数字信号处理实验信息252120502123赵梦然实验一快速傅里叶变换与信号频谱分析一.实验目的1. 在理论学习的基础上,通过本实验加深对离散傅里叶变换的理解。
2. 熟悉并掌握按时间抽取编写快速傅里叶变换(FFT)算法的程序。
3. 了解应用FFT 进行信号频谱分析过程中可能出现的问题,例如频谱混淆、泄漏、栅栏效应等,以便在实际中正确使用FFT 算法进行信号处理。
二.实验内容1. 仔细分析教材第六章“时间抽取法FFT 的FORTRAN 程序”,编写出相应的使用FFT 进行信号频谱分析的Matlab 程序。
2. 用FFT 程序分析正弦信号,分别在以下情况进行分析,并讨论所得的结果:a) 信号频率F=50Hz,采样点数N=32,采样间隔T=0.000625s;b) 信号频率F=50Hz,采样点数N=32,采样间隔T=0.005s;c) 信号频率F=50Hz,采样点数N=32,采样间隔T=0.0046875s;d) 信号频率F=50Hz,采样点数N=32,采样间隔T=0.004s;e) 信号频率F=50Hz,采样点数N=64,采样间隔T=0.000625s;f) 信号频率F=250Hz,采样点数N=32,采样间隔T=0.005s;g) 将c)中信号后补32 个0,做64 点FFT,并与直接采样64 个点做FFT 的结果进行对比。
3. 思考题:1) 在实验a)、b)、c)和d)中,正弦信号的初始相位对频谱图中的幅度特性是否有影响?为什么?信号补零后做FFT 是否可以提高信号频谱的分辨率?为什么?三.实验程序function pushbutton1_Callback(hObject, eventdata, handles)F=str2double(get(handles.f,'string'));N=str2double(get(handles.n,'string'));T=str2double(get(handles.t,'string'));fai=str2double(get(handles.fai,'string'));zero=get(handles.zero,'value');%进行采样t=0:T:(N-1)*T;x=cos(2*pi*F*t+fai);%进行fft运算if zeroy=abs(fft(x,N+32));y=y/max(y);elsey=abs(fft(x));y=y/max(y);end%画图axes(handles.axes2);stem((0:N-1),x,'*');axes(handles.axes1);if zerostem((0:N+31),y,'.');elsestem((0:N-1),y);endxlabel('频率/Hz');ylabel('振幅');grid on;四.实验结果实验数据记录:(a)输入信号频率:50输入采样点数:32输入间隔时间:0.000625是否增加零点?否信号频率F=50Hz,采样长N=32,采样周期T=0.000625s,fs=1/T=1600Hz,基频为fs/N=50Hz,50/50=1.故此在频谱图上的第1个点和第31个点有值。
中南大学数字信号管理组织实验一,二
数字信号处理实验报告学生姓名:学号:专业班级:所在学院:完成时间:2014年5月10日目录实验一信号、系统及系统响应--------------------------------------------------21.实验目的-----------------------------------------------------------------------------------------------22.实验原理-----------------------------------------------------------------------------------------------23.实验环境-----------------------------------------------------------------------------------------------34.实验结果及分----------------------------------------------------------------------------------------35.思考题--------------------------------------------------------------------------------------------------8实验二用FFT作频谱分析---------------------------------------------------------101.实验目的-----------------------------------------------------------------------------------------------92.实验原理-----------------------------------------------------------------------------------------------93.实验环境-----------------------------------------------------------------------------------------------94.实验结果及分析------------------------------------------------------------------------------------105.思考题-------------------------------------------------------------------------------------------------17实验小结--------------------------------------------------------------------------------17参考书籍--------------------------------------------------------------------------------18附录代码--------------------------------------------------------------------------------18实验一 信号、系统及系统响应1.实验目的(1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
《数字信号处理》上机实验指导书
《数字信号处理》上机实验指导书实验1 离散时间信号的产生1.实验目的数字信号处理系统中的信号都是以离散时间形态存在,所以对离散时间信号的研究是数字信号处理的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
MATLAB 是一套功能强大的工程计算及数据处理软件,广泛应用于工业,电子,医疗和建筑等众多领域。
使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大的绘图功能,便于用户直观地输出处理结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号的理解。
2.实验要求本实验要求学生运用MATLAB编程产生一些基本的离散时间信号,并通过MATLAB的几种绘图指令画出这些图形,以加深对相关教学内容的理解,同时也通过这些简单的函数练习了MATLAB的使用。
3.实验原理(1)常见的离散时间信号1)单位抽样序列,或称为离散时间冲激,单位冲激:?(n)???1?0n?0 n?0如果?(n)在时间轴上延迟了k个单位,得到?(n?k)即:?1n?k ?(n?k)??0n?0?2)单位阶跃序列n?0?1 u(n)?n?0?0在MATLAB中可以利用ones( )函数实现。
x?ones(1,N);3)正弦序列x(n)?Acos(?0n??)这里,A,?0,和?都是实数,它们分别称为本正弦信号x(n)的振幅,角频率和初始相位。
f0??02?为频率。
x(n)?ej?n4)复正弦序列5)实指数序列x(n)?A?n(2)MATLAB编程介绍MATLAB是一套功能强大,但使用方便的工程计算及数据处理软件。
其编程风格很简洁,没有太多的语法限制,所以使用起来非常方便,尤其对初学者来说,可以避免去阅读大量的指令系统,以便很快上手编程。
值得注意得就是,MATLAB中把所有参与处理的数据都视为矩阵,并且其函数众多,希望同学注意查看帮助,经过一段时间的训练就会慢慢熟练使用本软件了。
数字信号处理上机实验答案
第十章上机实验数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。
上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。
本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。
实验一系统响应及系统稳定性。
实验二时域采样与频域采样。
实验三用FFT对信号作频谱分析。
实验四IIR数字滤波器设计及软件实现。
实验五FIR数字滤波器设计与软件实现实验六应用实验——数字信号处理在双音多频拨号系统中的应用任课教师根据教学进度,安排学生上机进行实验。
建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR数字滤波器设计及软件实现在。
学习完第六章进行;实验五在学习完第七章后进行。
实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。
function tstem(xn,yn)%时域序列绘图函数% xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串)n=0:length(xn)-1;stem(n,xn,'.');box onxlabel('n');ylabel(yn);axis([0,n(end),min(xn),1.2*max(xn)])10.1 实验一: 系统响应及系统稳定性1.实验目的(1)掌握求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及检验系统的稳定性。
2.实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。
已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。
在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB 语言的工具箱函数filter 函数。
也可以用MATLAB 语言的工具箱函数conv 函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。
数字信号处理第三版用MATLAB上机实验
实验二:时域采样与频域采样一、时域采样1.用MATLAB编程如下:%1时域采样序列分析fs=1000A=444.128; a=222.144; w=222.144; ts=64*10^(-3); fs=1000;T=1/fs;n=0:ts/T-1; xn=A*exp((-a)*n/fs).*sin(w*n/fs); Xk=fft(xn);subplot(3,2,1);stem(n,xn);xlabel('n,fs=1000Hz');ylabel('xn');title('xn');subplot(3,2,2);plot(n,abs(Xk));xlabel('k,fs=1000Hz'); title('|X(k)|');%1时域采样序列分析fs=200A=444.128; a=222.144; w=222.144; ts=64*10^(-3); fs=200;T=1/fs;n=0:ts/T-1; xn=A*exp((-a)*n/fs).*sin(w*n/fs);Xk=fft(xn);subplot(3,2,3);stem(n,xn);xlabel('n,fs=200Hz'); ylabel('xn');title('xn');subplot(3,2,4);plot(n,abs(Xk));xlabel('k,fs=200Hz'); title('|X(k)|');%1时域采样序列分析fs=500A=444.128; a=222.144; w=222.144; ts=64*10^(-3); fs=500;T=1/fs;n=0:ts/T-1; xn=A*exp((-a)*n/fs).*sin(w*n/fs); Xk=fft(xn);subplot(3,2,5);stem(n,xn);xlabel('n,fs=500Hz');ylabel('xn');title('xn');subplot(3,2,6);plot(n,abs(Xk));xlabel('k,fs=500Hz'); title('|X(k)|');2.经调试结果如下图:20406080-200200n,fs=1000Hzxnxn2040608005001000k,fs=1000Hz|X (k)|51015-2000200n,fs=200Hzx nxn510150100200k,fs=200Hz |X(k)|10203040-2000200n,fs=500Hzx nxn102030400500k,fs=500Hz|X (k)|实验结果说明:对时域信号采样频率必须大于等于模拟信号频率的两倍以上,才 能使采样信号的频谱不产生混叠.fs=200Hz 时,采样信号的频谱产生了混叠,fs=500Hz 和fs=1000Hz 时,大于模拟信号频率的两倍以上,采样信号的频谱不产生混叠。
数字信号处理上机实验
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力通根保1据过护生管高产线中工敷资艺设料高技试中术卷资0配不料置仅试技可卷术以要是解求指决,机吊对组顶电在层气进配设行置备继不进电规行保范空护高载高中与中资带资料负料试荷试卷下卷问高总题中体2资2配,料置而试时且卷,可调需保控要障试在各验最类;大管对限路设度习备内题进来到行确位调保。整机在使组管其高路在中敷正资设常料过工试程况卷中下安,与全要过,加度并强工且看作尽护下可关都能于可地管以缩路正小高常故中工障资作高料;中试对资卷于料连继试接电卷管保破口护坏处进范理行围高整,中核或资对者料定对试值某卷,些弯审异扁核常度与高固校中定对资盒图料位纸试置,卷.编保工写护况复层进杂防行设腐自备跨动与接处装地理置线,高弯尤中曲其资半要料径避试标免卷高错调等误试,高方要中案求资,技料编术试写5交、卷重底电保要。气护设管设装备线备置4高敷、调动中设电试作资技气高,料术课中并3试、中件资且卷管包中料拒试路含调试绝验敷线试卷动方设槽技作案技、术,以术管来及架避系等免统多不启项必动方要方式高案,中;为资对解料整决试套高卷启中突动语然过文停程电机中气。高课因中件此资中,料管电试壁力卷薄高电、中气接资设口料备不试进严卷行等保调问护试题装工,置作合调并理试且利技进用术行管,过线要关敷求运设电行技力高术保中。护资线装料缆置试敷做卷设到技原准术则确指:灵导在活。分。对线对于盒于调处差试,动过当保程不护中同装高电置中压高资回中料路资试交料卷叉试技时卷术,调问应试题采技,用术作金是为属指调隔发试板电人进机员行一,隔变需开压要处器在理组事;在前同发掌一生握线内图槽部纸内 故资,障料强时、电,设回需备路要制须进造同行厂时外家切部出断电具习源高题高中电中资源资料,料试线试卷缆卷试敷切验设除报完从告毕而与,采相要用关进高技行中术检资资查料料和试,检卷并测主且处要了理保解。护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
数字信处理上机实验报告
实验一系统响应及系统稳定性一、实验目的(1)掌握求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及检验系统的稳定性。
二、实验内容(1)给定一个低通滤波器的差分方程为y(n)=(n)+(n-1)+(n-1)输入信号x1(n)=R8(n)x2(n)=u(n)(a) 分别求出系统对x1(n)=R8(n) 和x2(n)=u(n)的响应序列,并画出其波形。
(b) 求出系统的单位冲响应,画出其波形。
实验程序:A=[1,];B=[,]; %%系统差分方程系数向量 B 和 Ax1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号 x1(n)=R8(n) x2n=ones(1,128); %产生信号 x2(n)=u(n)y1n=filter(B,A,x1n); %求系统对 x1(n)的响应 y1(n)n=0:length(y1n)-1;subplot(2,2,1);stem(n,y1n,'.');title('(a) 系统对 R_8(n)的响应y_1(n)');xlabel('n');ylabel('y_1(n)');y2n=filter(B,A,x2n); %求系统对 x2(n)的响应 y2(n)n=0:length(y2n)-1;subplot(2,2,2);stem(n,y2n,'.');title('(b) 系统对 u(n)的响应y_2(n)');xlabel('n');ylabel('y_2(n)');hn=impz(B,A,58); %求系统单位脉冲响应 h(n) n=0:length(hn)-1;subplot(2,2,3);y=hn;stem(n,hn,'.');title('(c) 系统单位脉冲响应h(n)');xlabel('n');ylabel('h(n)');运行结果图:(2)给定系统的单位脉冲响应为h1(n)=R10(n)h2(n)= δ(n)+δ(n-1)+δ(n-2)+δ(n-3)用线性卷积法分别求系统h1(n)和h2(n)对x1(n)=R8(n)的输出响应,并画出波形。
数字信号处理上机作业
数字信号处理上机作业数字信号处理上机作业学院:电子工程学院班级:021215组员:实验一:信号、系统及系统响应1、实验目的(1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
(2) 熟悉时域离散系统的时域特性。
(3) 利用卷积方法观察分析系统的时域特性。
(4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
2、实验原理与方法(1) 时域采样。
(2) LTI系统的输入输出关系。
3、实验内容及步骤(1) 认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容,阅读本实验原理与方法。
(2) 编制实验用主程序及相应子程序。
①信号产生子程序,用于产生实验中要用到的下列信号序列:a. xa(t)=A*e^-at *sin(Ω0t)u(t)b. 单位脉冲序列:xb(n)=δ(n)c. 矩形序列: xc(n)=RN(n), N=10②系统单位脉冲响应序列产生子程序。
本实验要用到两种FIR系统。
a. ha(n)=R10(n);b. hb(n)=δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)③有限长序列线性卷积子程序用于完成两个给定长度的序列的卷积。
可以直接调用MATLAB语言中的卷积函数conv。
conv用于两个有限长度序列的卷积,它假定两个序列都从n=0 开始。
调用格式如下:y=conv (x, h)4、实验结果分析①分析采样序列的特性。
a. 取采样频率fs=1 kHz,,即T=1 ms。
b. 改变采样频率,fs=300 Hz,观察|X(e^jω)|的变化,并做记录(打印曲线);进一步降低采样频率,fs=200 Hz,观察频谱混叠是否明显存在,说明原因,并记录(打印)这时的|X(e^jω)|曲线。
程序代码如下:close all;clear all;clc;A=50;a=50*sqrt(2)*pi;m=50*sqrt(2)*pi;fs1=1000;fs2=300;fs3=200;T1=1/fs1;T2=1/fs2;T3=1/fs3;N=100;n=[0:N-1];x1=A*exp(-a*n*T1).*sin(m*n*T1);x2=A*exp(-a*n*T2).*sin(m*n*T2);x3=A*exp(-a*n*T3).*sin(m*n*T3);w=linspace(-pi,pi,10000);X1=x1*exp(-j*n'*w);X2=x2*exp(-j*n'*w);X3=x3*exp(-j*n'*w);figure(1)subplot(1,3,1)plot(w/pi,abs(X1));xlabel('\omega/π');ylabel('|H(e^j^\omega)|')title('采样频率为1000Hz时的频谱图');subplot(1,3,2)plot(w/pi,abs(X2));xlabel('\omega/π');ylabel('|H(e^j^\omega)|')title('采样频率为300Hz时的频谱图');subplot(1,3,3)plot(w/pi,abs(X3));xlabel('\omega/π');ylabel('|H(e^j^\omega)|')title('采样频率为200Hz时的频谱图');②时域离散信号、系统和系统响应分析。
数字信号处理上机指导
数字信号处理上机指导《数字信号处理》上机实验指导书光电信息与通信工程学院电子信息工程专业北京信息科技大学 2011年11月1目录实验一离散傅里叶变换的性质及应用............................................................. 3 实验二 IIR数字滤波器设计................................................................... .. (5)2实验一离散傅里叶变换的性质及应用一、实验目的1.了解DFT的性质及其应用 2.熟悉MATLAB编程特点二、实验仪器及材料计算机,MATLAB软件三、实验内容及要求1.验证 DFT性质。
(1)已知序列x(n)=4?(n)?3?(n?1)?2?(n?2)??(n?3),计算序列的6点DFT 的幅度、相位、实部及虚部,并用图形表示相应的x(n),X(k),angle[X(k)], Re?X(k)?,Im?X(k)?。
(2)编程求解xep(n)和xop(n) ,验证DFTxep(n)?Re[X(k)] DFTxop(n)?jIm[X(k)]????*(3)对序列x(n)=4?(n)?3?(n?1)?2?(n?2)??(n?3),自行设计程序验证DFT时移及频移性质。
2.利用DFT实现两序列的卷积运算,并研究DFT点数与混叠的关系。
(1)已知两序列?3 n?0nx(n)?? h(n)?2,n?0,1,2,3?1 1?n?4(2)用直接法(即用线性卷积的定义计算,见下式)计算线性卷积y(n)=x(n)*h(n)的结果,并以图形方式表示结果;N?1 y(n)?0?n?N?x(m)?h(n?m), m?01?N2?2(3)利用DFT计算圆周卷积;分别令圆周卷积的点数为L=8,10,12,以图形方式表示结果。
(4)对比直接法和圆周卷积法所得的结果。
3.利用DFT进行谱分析。
2017年度西电电院数字信号管理组织上机实验报告六
实验六、FIR数字滤波器设计及其网络结构班级:学号:姓名:成绩:1实验目的(1)熟悉线性相位FIR数字滤波器的时域特点、频域特点和零极点分布;(2)掌握线性相位FIR数字滤波器的窗函数设计法和频率采样设计法;(3)了解IIR数字滤波器和FIR数字滤波器的优缺点及其适用场合。
2 实验内容(1)设计计算机程序,根据滤波器的主要技术指标设计线性相位FIR数字低通、高通、带通和带阻滤波器;(2)绘制滤波器的幅频特性和相频特性曲线,验证滤波器的设计结果是否达到设计指标要求;(3)画出线性相位FIR数字滤波器的网络结构信号流图。
3实验步骤(1)设计相应的四种滤波器的MATLAB程序;(2)画出幅频相频特性曲线;(3)画出信号流图。
4 程序设计%% FIR低通f=[0.2,0.35];m=[1,0];Rp=1;Rs=40;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat1,dat2];[M,f0,m0,w]=remezord(f,m,rip);M=M+2;hn=remez(M,f0,m0,w);w=0:0.001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));grid on;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB') subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')%% FIR高通f=[0.7,0.9];m=[0,1];Rp=1;Rs=60;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat2,dat1];[M,f0,m0,w]=remezord(f,m,rip);hn=remez(M,f0,m0,w);w=0:0.001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));grid on;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB') subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')%% FIR带通f=[0.2,0.35,0.65,0.8];m=[0,1,0];Rp=1;Rs=60;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat2,dat1,dat2];[M,f0,m0,w]=remezord(f,m,rip);M=M+3hn=remez(M,f0,m0,w);w=0:0.001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));grid on;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB') subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')%% FIR带阻f=[0.2,0.35,0.65,0.8];m=[1,0,1];Rp=1;Rs=60;dat1=(10^(Rp/20)-1)/(10^(Rp/20)+1);dat2=10^(-Rs/20);rip=[dat1,dat2,dat1];[M,f0,m0,w]=remezord(f,m,rip);hn=remez(M,f0,m0,w);w=0:0.001:pixn=[0:length(hn)-1];H=hn*exp(-j*xn'*w);figuresubplot(2,1,1)plot(w/pi,20*log10(abs(H)));grid on;xlabel('\omega/\pi'),ylabel('|H(e^j^w)|/dB') subplot(2,1,2)plot(w/pi,angle(H)/pi);xlabel('\omega/\pi'),ylabel('\phi(\omega)/\pi')5实验结果及分析(1)FIR低通滤波器自动得到的M值不满足要求,故我们将M加上2 在w=0.2π时,H=-0.5dB;w=0.35π时,H=-41dB。
数字信号处理上机实验
数字信号处理上机实验一声音信号的频谱分析班级___________________ 学号_____________________ 姓名____________________一、实验目的1、了解声音信号的基本特征2、掌握如何用Matlab处理声音信号3、掌握FFT变换及其应用二、实验原理与方法根据脉动球表面波动方程可知,声压与该球的尺寸和振动的频率的乘积成正比,即声压一定时,球的尺寸越大,振动的频率越小。
可以将此脉动球看作人的声带,人说话的声压变化在0.1~0.6pa的很小范围内,可以看作恒定,所以声带越大,声音频率就越小,反之,声带越小,声音频率就越大。
女子的声带为11~15mm,男子的声带为17~21mm,由此可见,女声频率高,男声频率低,因此听起来女声尖利而男声低沉。
人类歌唱声音频率最大范围的基频:下限可达65.4 Hz,上限可达1046.5 Hz,不包括泛音。
出色的女高音的泛音最高的可达2700hz。
童声:童高音:261.6Hz~880Hz,童低音:196Hz~698.5Hz;女声:女高音:220Hz~1046.5Hz,女低音:174.6Hz~784Hz;男声:男高音:110Hz~523.3Hz,男低音:24.5Hz~349.2Hz。
FFT方法是处理声音信号的基本方法,详细原理参见参考书三、实验内容1、应用Windows录音机录入一段声音文件;2、应用Matlab分析该声音文件的信息,包括采样频率、数据位数,数据格式等;3、应用Matlab画出该声音文件的时域曲线;(如果是双声道数据,只处理左声道数据)4、应用FFT分析该声音文件的频谱信息,并画出频域曲线;5、以100Hz为间隔,在0-1100Hz的基频范围内统计声音能量分布情况,并画出柱形图。
四、思考题1、同一个人不同的声音文件是否具有相同的频谱信号?2、试分析男女声的频谱区别。
3、能否从频谱信号中将自己的声音与其他人的声音区分开来?五、实验报告要求1、简述实验目的及原理2、按实验要求编写Matlab文件,并附上程序及程序运行结果;3、结合所学知识总结实验中的主要结论;4、简要回答思考题。
中国科学院刘艳老师现代数字信号处理第四章上机作业
1、假设一平稳随机信号为()()()0.81x n x n w n =−+,其中)(n w 是均值为0,方差为1的白噪声,数据长度为1024。
(1)、产生符合要求的)(n w 和)(n x ;(2)、给出信号x(n)的理想功率谱;(3)、编写周期图谱估计函数,估计数据长度N=1024及256时信号功率谱,分析估计效果。
(4)、编写Bartlett 平均周期图函数,估计当数据长度N=1024及256时,分段数L 分别为2和8时信号)(n x 的功率谱,分析估计效果。
一、一、解题思路解题思路w(n)可以通过随机序列randn(1,N)来产生,x(n)可以通过对w(n)滤波产生(由递推式可得系统的传递函数),也可以直接由递推式迭代产生。
由于线性系统的输出功率谱等于输入功率谱乘以传递函数模的平方,X(n)可以看做w(n)通过一线性系统的输出,H(z)=1/(1-0.8z)。
所以x(n)的理想功率谱P(ejw)=σw2|H(ejw)|2。
周期图方法:直接对观测数据做FFT变换,变换的结果取模的平方再除以数据长度,作为估计的功率谱。
256个观测点时可以对原观测数据以4为间隔提取得到。
Bartlett法:将L组独立的观测数据分别求周期图,再将L个周期图求平均作为信号的功率谱估计。
L组数据可以通过对原观测数据以L为间隔提取得到。
二、二、MATLAB MATLAB MATLAB实现程序及注解实现程序及注解clear all;clear;close all;Fs=500;%采样率N=1024;%观测数据w=sqrt(1)+randn(1,N);%0均值,方差为1的白噪声,长度1024x=[w(1)zeros(1,N-1)];%初始化x(n),长度1024,x(1)=w(1)for i=2:Nx(i)=0.8*x(i-1)+w(i);%迭代产生观测数据x(n)end%%%%%%%%%%%%%%%%%%%%%理想功率谱%%%%%%%%%%%%%%%%%%%%[h,w1]=freqz(x);figure,plot(w1*500/(2*pi),10*log10(abs(h).^2));grid on;title('理想功率谱');xlabel('频率');ylabel('功率db');%%%%%%%%%%%%%%%%%%%%%周期图法%%%%%%%%%%%%%%%%%%%%%%1024个观测点Pxx=abs(fft(x)).^2/N;%周期图公式Pxx=10*log10(Pxx(index+1));%化为dbfigure;plot(k,Pxx);grid on;title('周期图1024点');xlabel('频率');ylabel('功率db');%周期图256个观测点x1=x(1:4:N);Pxx1=abs(fft(x1,1024)).^2/N;figure;plot(k,Pxx1);grid on;title('周期图256点');xlabel('频率');ylabel('功率db');%%%%%%%%%%%%%%%Bartlett平均周期图,N=1024%%%%%%%%%%%%%%%%%%%分段L=2L=2;x_21=x(1:L:N);x_22=x(2:L:N);Pxx_21=abs(fft(x_21,1024)).^2/length(x_21);Pxx_22=abs(fft(x_22,1024)).^2/length(x_22);Pxx_2=(Pxx_21+Pxx_22)/L;figure;subplot(2,2,1),plot(k,10*log10(Pxx_2(index+1)));grid on;title('N=1024,L=2');xlabel('频率');ylabel('功率db');%分段L=8L1=8;x3=zeros(L1,N/L1);%产生L1行,N/L1列的矩阵用以存储分组的数据for i=1:L1x3(i,:)=x(i:L1:N);%将原始数据分为8组endPxx3=zeros(L1,1024);%产生L1行,1024列矩阵用以存储分组的周期图for i=1:L1Pxx3(i,:)=abs(fft(x3(i,:),1024)).^2/length(x3(i,:));%分别求周期图,结果保存在Pxx3中,FFT长度为1024endfor i=1:1024Pxx3_m(i)=sum(Pxx3(:,i))/L1;%求平均endsubplot(2,2,2),plot(k,10*log10(Pxx3_m(index+1)));grid on;title('N=1024,L=8');xlabel('频率');ylabel('功率db');%%%%%%%%%%%%%%%Bartlett平均周期图,N=256,求法同上%%%%%%%%%%%%%%分段L=2,分别计算周期图,再取平均x=x(1:4:N);L2=2;x_31=x(1:L2:length(x));x_32=x(2:L2:length(x));Pxx_31=abs(fft(x_31,1024)).^2/length(x_31);Pxx_32=abs(fft(x_32,1024)).^2/length(x_32);Pxx_3=(Pxx_31+Pxx_32)/L2;subplot(2,2,3),plot(k,10*log10(Pxx_3(index+1)));grid on;title('N=256,L=2');xlabel('频率');ylabel('功率db');%分段L=8L3=8;x4=zeros(L3,length(x)/L3);for i=1:L3x4(i,:)=x(i:L3:length(x));%将原始数据分为8组endPxx4=zeros(L3,1024);for i=1:L3Pxx4(i,:)=abs(fft(x4(i,:),1024)).^2/length(x4(i,:));%分别求周期图,FFT长度为1024endfor i=1:1024Pxx4_m(i)=sum(Pxx4(:,i))/L3;%求平均endsubplot(2,2,4),plot(k,10*log10(Pxx4_m(index+1)));grid on;title('N=256,L=8');xlabel('频率');ylabel('功率db');三、实验结果理想功率谱图如图1-1所示图1-1理想功率谱图1024点的周期图以及256点的周期图分别如图1-2、1-3所示图2-21024点的周期图图2-3256点的周期图Bartlett平均周期图法的相应图像如图1-4所示图1-4Bartlett平均周期图法的相应图像四、实验结果分析由图1-2、1-3可以看出,周期图法得到的功率谱估计,谱线的起伏较大,即估计所得的均方误差较大。
数字信号处理上机实验报告
数字信号处理上机实验报告实验一熟悉MATLAB环境一、实验目的1、熟悉 MATLAB的主要操作命令。
2、学会简单的矩阵输入和数据读写。
3、掌握简单的绘图命令。
4、用 MATLAB编程并学会创建函数。
5、观察离散系统的频率响应。
二、实验容认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。
在熟悉 MATLAB基本命令的基础上,完成以下实验。
上机实验容:1、数组的加减乘除和乘方运算,输入A1234,B3456,求C A B ,D A B,E A. B,F A./ B,G A.^ B ,并用stem语句画出A、 B、C、 D、 E、F、 G。
程序:>> A=[1 2 3 4];B=[3 4 5 6];C=A+B; D=A-B; E=A.*B; F=A./B; G=A.^B;subplot(2,4,1);stem(A,'.'); subplot(2,4,2);stem(B,'.');subplot(2,4,3);stem(C,'.'); subplot(2,4,4);stem(D,'.');subplot(2,4,5);stem(E,'.'); subplot(2,4,6);stem(F,'.');subplot(2,4,7);stem(G,'.')2、用MATLAB实现下列序列。
a)x(n)0.8n0n15b) x(n)e(0. 2 3 j ) n0n 15c)x(n)3cos(0.125 n0.2 ) 2sin(0.25 n 0.1 ) 0 n 15程序:A)clear;clc;n=[0:15];x1=0.8.^n;subplot(3,1,1),stem(x1)title('x1=0.8^n')xlabel('n'); ylabel('x1');B)clear;clc;n=[0:15];x2=exp((0.2+3j)*n);subplot(3,1,1),stem(x2)title('x2=exp((0.2+3j)*n)')xlabel('n'); ylabel('x2');C)clear;clc;n=[0:15];x3=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi); subplot(3,1,1),stem(x3)title('x3=3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi)') xlabel('n'); ylabel('x3');3、绘出下列时间常数的图形,对x 轴,y轴以及图形上方均须加上适当的标注:a)x(t )sin( 2 t )0t10sb)x(t )cos(100t )sin(t )0 t 4s>>m=0:0.01:10;n=0:0.01:4;x1t=sin(2*pi*m);x2t=cos(100*pi*n).*sin(pi*n);subplot(2,1,1);plot(m,x1t);subplot(2,1,2);plot(n,x2t);4、给定一因果系统 H(z)=(1+ 2z- 1z-2)/( 1- 0.67z 1z 2),求出并绘制H(z)的幅频响应与相频响应。
数字信号处理实验MATLAB上机DOC
班级: 学号: 姓名: 日期: 实验一:离散时间信号的分析一、实验目的利用DFT 卷积实现系统的时域分析二、实验原理在离散时间、连续频率的傅里叶变换中,由于卷积性质知道,对系统输出的计算可以通过求x[n]和h[n]的DTFT ,将得到的X(e jw )和H(e jw )相乘就可以得到Y(e jw ),进而再通过反变换得到y[n]。
这就避免了在时域进行繁琐的卷积求解。
三、实验步骤(包括代码和波形)1-2(2)x[k]=g[k]=k+1,0<=k<=3;x[k]=g[k]=0,其他 编码如下:ak=1:4 gk=1:4Z=conv(ak,gk) stem(Z)波形如下:12345675101520251-3(1)已知序列x[k]={1,2,3,4;k=0,1,2,3},y[k]={-1,1,2,3;k=0,1,2,3},试计算x[k]的自相关函数以及序列x[k]与y[k]的互相关函数。
编码如下:x=[1,2,3,4];kx=0:3; y=[-1,1,-2,3];ky=0:3; xf=fliplr(x); s1=conv(x,xf); s2=conv(xf,y); yf=fliplr(y); s3=conv(yf,x);k1=kx(1)+ky(1):kx(end)+ky(end); kxf=-fliplr(kx);k2=kxf(1)+ky(1):kxf(end)+ky(end); kyf=-fliplr(ky);k3=kyf(1)+kx(1):kyf(end)+kx(end); subplot(2,2,1); stem(k1,s1);xlabel('k1');ylabel('s1'); subplot(2,2,2); stem(k2,s2);xlabel('k2');ylabel('s2'); subplot(2,2,3) stem(k3,s3);xlabel('k3');ylabel('s3');波形如下:0246102030k1s 1-4-2024-10-50510k2s 2-4-2024-10-50510k3s 3M-1已知g1[t]=cos(6*pi*t),g2=cos(14*pi*t),g3=cos(26*pi*t),以抽样频率f(max)=10HZ对上述三个信号进行抽样。
数字信号处理上机实验答案(全)1
第十章上机实验第十章上机实验数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。
上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。
本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。
实验一系统响应及系统稳定性。
实验二时域采样与频域采样。
实验三用FFT对信号作频谱分析。
实验四IIR 数字滤波器设计及软件实现。
实验五FIR 数字滤波器设计与软件实现实验六应用实验——数字信号处理在双音多频拨号系统中的应用任课教师根据教学进度,安排学生上机进行实验。
建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR 数字滤波器设计及软件实现在。
学习完第六章进行;实验五在学习完第七章后进行。
实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。
10.1实验一:系统响应及系统稳定性1.实验目的(1)掌握求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及检验系统的稳定性。
2.实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。
已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。
在计算机上适合用递推法求差分方程的解,最简单的方法是采用MA TLAB 语言的工具箱函数filter 函数。
也可以用 MATLAB语言的工具箱函数conv 函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。
系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。
重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。
系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。
或者系统的单位脉冲响应满足绝对可和的条件。
系统的稳定性由其差分方程的系数决定。
数字信号处理上机实验汇总(原创)
信 号 y=u(t+3)-2u(t) 1.5
1
0.5
0
y
-0.5
-1
-1.5 -5
-4
-3
-2
-1
0 t
1
2
3
4
5
(2)绘出复指数信号 x(t ) e0.2t cos(2t 0.5) 的波形。
2
运行结果:
连 续 复 指 数 信 号 x[t]=cos(2*t+0.5).*exp(0.2*t) 2000 1500 1000 500 0
验证结合律
y1(n)=(x1[n]*x2[n])*x3[n]
6000 4000 2000 0 -2000 -100
-80
-60
-40
-20
0 n
20
40
60
80
100
y2(n)=x1[n]*(x2[n]*x3[n])
10000
5000
0
-5000 -100
-80
-60
-40
-20
0 n
20
40
60
80
5
1
x(n)
0.5
0 -2
-1.5
-1
-0.5
0 n
0.5
1
1.5
2
1
h(n)
0.5
0 -2
-1.5
-1
-0.5
0 n
0.5
1
1.5
2
6
y ( n) =x(n)*h(n)
4
2
0 -4
-3
-2
-1
0 n
1
2
3
4
(2) 对下面三个序列, 用 conv_m()函数来验证卷积特性 (交换律、 结合律、 分配律) 交换律 结合律 分配律 其
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理上机作业学院:电子工程学院班级:021215组员:实验一:信号、系统及系统响应1、实验目的(1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
(2) 熟悉时域离散系统的时域特性。
(3) 利用卷积方法观察分析系统的时域特性。
(4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
2、实验原理与方法(1) 时域采样。
(2) LTI系统的输入输出关系。
3、实验内容及步骤(1) 认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容,阅读本实验原理与方法。
(2) 编制实验用主程序及相应子程序。
①信号产生子程序,用于产生实验中要用到的下列信号序列:a. xa(t)=A*e^-at *sin(Ω0t)u(t)b. 单位脉冲序列:xb(n)=δ(n)c. 矩形序列:xc(n)=RN(n), N=10②系统单位脉冲响应序列产生子程序。
本实验要用到两种FIR系统。
a. ha(n)=R10(n);b. hb(n)=δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)③有限长序列线性卷积子程序用于完成两个给定长度的序列的卷积。
可以直接调用MATLAB语言中的卷积函数conv。
conv用于两个有限长度序列的卷积,它假定两个序列都从n=0 开始。
调用格式如下:y=conv (x, h)4、实验结果分析①分析采样序列的特性。
a. 取采样频率fs=1 kHz,,即T=1 ms。
b. 改变采样频率,fs=300 Hz,观察|X(e^jω)|的变化,并做记录(打印曲线);进一步降低采样频率,fs=200 Hz,观察频谱混叠是否明显存在,说明原因,并记录(打印)这时的|X(e^j ω)|曲线。
程序代码如下:close all;clear all;clc;A=50;a=50*sqrt(2)*pi;m=50*sqrt(2)*pi;fs1=1000;fs2=300;fs3=200;T1=1/fs1;T2=1/fs2;T3=1/fs3;N=100;n=[0:N-1];x1=A*exp(-a*n*T1).*sin(m*n*T1);x2=A*exp(-a*n*T2).*sin(m*n*T2);x3=A*exp(-a*n*T3).*sin(m*n*T3);w=linspace(-pi,pi,10000);X1=x1*exp(-j*n'*w);X2=x2*exp(-j*n'*w);X3=x3*exp(-j*n'*w);figure(1)subplot(1,3,1)plot(w/pi,abs(X1));xlabel('\omega/π');ylabel('|H(e^j^\omega)|') title('采样频率为1000Hz时的频谱图'); subplot(1,3,2)plot(w/pi,abs(X2));xlabel('\omega/π');ylabel('|H(e^j^\omega)|') title('采样频率为300Hz时的频谱图'); subplot(1,3,3)plot(w/pi,abs(X3));xlabel('\omega/π');ylabel('|H(e^j^\omega)|') title('采样频率为200Hz时的频谱图');②时域离散信号、系统和系统响应分析。
a. 观察信号xb(n)和系统hb(n)的时域和频域特性;利用线性卷积求信号xb(n)通过系统hb(n)的响应y(n),比较所求响应y(n)和hb(n)的时域及频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所得结果。
b. 观察系统ha(n)对信号xc(n)的响应特性。
程序代码如下:close all;clear all;clc;xbn=[1];xcn=ones(1,10);han=ones(1,10);hbn=[1,2.5,2.5,1];yn=conv(xbn,hbn);n1=0:length(xbn)-1;n2=0:length(hbn)-1;subplot(2,1,1);stem(n1,xbn,'.')xlabel('n');ylabel('xb(n)')title('xb(n)的时域特性曲线')subplot(2,1,2);stem(n2,hbn,'.')xlabel('n');ylabel('hb(n)')title('hb(n)的时域特性曲线')figure(2)subplot(2,1,1);n1=[0:length(xbn)-1];w=linspace(-pi,pi,10000);Xbn=xbn*exp(-j*n1'*w); subplot(2,1,1);plot(w/pi,abs(Xbn));xlabel('\omega/π');ylabel('幅度') title('DTFT[xb[n]的频谱');n2=[0:length(hbn)-1];w=linspace(-pi,pi,10000);Hb=hbn*exp(-j*n2'*w); subplot(2,1,2);plot(w/pi,abs(Hb));xlabel('\omega/π');ylabel('幅度') title('DTFT[hb(n)]的频谱');figure(3)n1=0:length(yn)-1;n2=0:length(hbn)-1;subplot(2,1,1);stem(n1,yn,'.') xlabel('n');ylabel('y(n)')title('y(n)的时域特性曲线') subplot(2,1,2);stem(n2,hbn,'.')xlabel('n');ylabel('hb(n)')title('hb(n)的时域特性曲线')figure(4)subplot(2,1,1);n1=[0:length(yn)-1];w=linspace(-pi,pi,10000);Y=yn*exp(-j*n1'*w);subplot(2,1,1);plot(w/pi,abs(Y));xlabel('\omega/π');ylabel('幅度')title('DTFT[y(n)]的频谱');n2=[0:length(hbn)-1];w=linspace(-pi,pi,10000);Hb=hbn*exp(-j*n2'*w);subplot(2,1,2);plot(w/pi,abs(Hb));xlabel('\omega/π');ylabel('幅度')title('DTFT[hb(n)]的频谱');zn=conv(xcn,han);%以下为%系统ha(n)对信号xc(n)的频率响应特性的分析figure(5)n3=[0:length(zn)-1];w=linspace(-pi,pi,10000);Z=zn*exp(-j*n3'*w);subplot(2,1,1);plot(w/pi,abs(Z));xlabel('\omega/π');ylabel('幅度') title('DTFT[zn]的幅度谱'); subplot(2,1,2);plot(w/pi,angle(Z));xlabel('\omega/π');ylabel('相位') title('DTFT[zn]的相位谱');图一:xb(n)与hb(n)时域曲线的对比图二:xb(n)与hb(n)频谱函数的对比图三:y(n)与hb(n)时域曲线的对比图四:y(n)与hb(n)频谱函数的对比图五:系统ha(n)对信号xc(n)的频率响应特性的分析包含z(n)幅度谱和相位谱③卷积定理的验证。
(如下程序中Y1为直接线性卷积所得结果做DTFT,Y2为各自的DTFT相乘后所得的结果)程序代码如下:close all;clear all;clc;x1=[1,3,4,0,2];x2=[3,2,0,0,1,5];n1=0:length(x1)-1;n2=0:length(x2)-1;y1=conv(x1,x2);m1=0:length(y1)-1;w=linspace(-pi,pi,10000);X1=x1*exp(-j*n1'*w);X2=x2*exp(-j*n2'*w);Y1=y1*exp(-j*m1'*w);Y2=X1.*X2;subplot(2,1,1);plot(w/pi,abs(Y1));xlabel('\omega/π');ylabel('幅度') title('DTFT[y1(n)]的特性曲线'); subplot(2,1,2);plot(w/pi,abs(Y2));xlabel('\omega/π');ylabel('幅度') title('DTFT[y2(n)]的特性曲线');5、思考题(1)在分析理想采样序列特性的实验中,采样频率不同时,相应理想采样序列的傅里叶变换频谱的数字频率度量是否都相同?它们所对应的模拟频率是否相同?为什么?答:数字频率度量不相同,但他们所对应的模拟频率相同。
由w=Ω*Ts得,采样间隔变化时模拟频率对应的数字频率会有相应的变化,故其度量会有所变化。
(2)在卷积定理验证的实验中,如果选用不同的频域采样点数M值,例如,选M=10和M=20,分别做序列的傅里叶变换,求得的结果有无差异?答:有差别。
DFT相当于序列频谱的等间隔采样,当取点少时,DFT包含序列频谱的信息会少,与序列频谱的误差会增大。
取点多时,DFT会反映更多的频谱信息,误差会小,减轻了栅栏效应。
二者因为误差而有差别。
实验二:用FFT作谱分析1、实验目的(1) 进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。