数字信号处理matlab实验资料
数字信号处理实验报告-FFT算法的MATLAB实现
数字信号处理 实验报告实验二:FFT 算法的MATLAB 实现一、实验目的通过本实验的学习,掌握离散傅立叶变换的理论,特别是FFT 的基本算法以及其在在数字信号处理中的应用。
二、实验内容题一:若x(n)=cos(n*pi/6)是一个N =12的有限序列,利用MATLAB 计算它的DFT 并画出图形。
题二:一被噪声污染的信号,很难看出它所包含的频率分量,如一个由50Hz 和120Hz 正弦信号构成的信号,受均值随机噪声的干扰,数据采样率为1000Hz ,对这污染信号进行傅立叶变换,以检查所包含的频率分量题三:调用原始语音信号mtlb ,对其进行FFT 变换后去掉幅值小于1的FFT 变换值,最后重构语音信号。
(要求有四幅语音信号的频谱图在同一图形窗口以便比较:分别是1、原始语音信号;2、FFT 变换;3去掉幅值小于1的FFT 变换值;4、重构语音信号)三、实验原理1、有限长序列x(n)的DFT 的概念和公式:⎪⎪⎩⎪⎪⎨⎧-≤≤=-≤≤=∑∑-=--=101010)(1)(10)()(N k kn N N n kn N N n W k x N n x N k W n x k x2、基2的FFT 算法四、实验条件(1)微机(2)MATLAB 编程工具五、用matlab 程序实现:实验一:clc;N=12;n=0:N-1;k=0:N-1;xn=cos(n*pi/6);W=exp(-j*2*pi/N);kn=n'*kXk=xn*(W.^kn)stem(n,Xk);xlabel('k');ylabel('Xk');实验二clc;fs=1000;N=1024;n=0:N-1;t=n/fs;x=sin(2*pi*50*t)+sin(2*pi*120*t)+rand(1,N);y=fft(x,N);mag=abs(y);f=n*fs/N;subplot(1,2,1),plot(f,mag);xlabel('频率/Hz');ylabel('振幅');title('N=1024');subplot(1,2,2),plot(f(1:N/2),mag(1:N/2)); xlabel('频率/Hz');ylabel('振幅');title('N=1024');实验三:clc;load mtlbN=1500;subplot(2,2,1)plot([1:N],mtlb(1:N));title('原始语音信号');y=fft(mtlb(1:N));subplot(2,2,2)plot([1:N],y);title('原始语音信号FFT变换');y(y<1)=0;subplot(2,2,3)plot([1:N],y);title('去掉幅值小于1的FFT变换值');subplot(2,2,4)plot([1:N],ifft(y));title('重构语音信号');六、实验心得:(1)通过这次实验,掌握离散傅立叶变换的理论,特别是FFT的基本算法以及其在在数字信号处理中的应用。
Matlab数字信号处理——综合实验报告
实验题目:用Matlab语言编程实现学生成绩管理系统一、实验目的1.掌握建立和执行M文件的方法,学会M函数的编写及其调用,掌握多种函数类型;2.学习Matlab中的关系运算和逻辑运算,掌握它们的表达形式和用法;3.掌握Matlab中的选择结构和循环结构;4.学习使用帮助文档查找更多的Matlab功能;5.掌握Matlab的基本绘图命令,学习运用Matlab绘制一维、二维、三维图形的方法。
二、实验要求1.使用函数(多个函数M文件)进行分析和设计;2.要使用到以下函数类型:主函数、子函数、私有函数。
三、实验内容功能内容:1.学生信息为:学号、姓名、三门课成绩(英语、数学、物理);2.从键盘输入学生成绩,建立信息库;3.从文件读入学生信息;4.显示信息库中的所有学生的信息;5.将学生成绩信息库保存为文件;6.根据学号查询某一个学生的成绩统计信息:三门课成绩、总分、平均分;7.根据学号将某一个学生的信息从信息库删除;8.新增一个学生的信息;9.按总分成绩从高到低排序输出学生信息;10.图形输出所有学生成绩统计信息(饼图pie、柱状图bar)。
四、实验设计及分析1 主函数的设计及分析主函数主要用于显示学生管理系统的主界面,以及通过对其他几个私有函数的调用来实现相应的功能。
主函数名为zonghe(),首先利用disp()屏幕输出函数来提示用户如何使用该管理系统。
然后通过input()输入函数输入字符,通过判断输入的字符与哪个私有函数对应的字符匹配来调用相应的私有函数实现相应的功能。
其中将条件语句放入while循环中,使系统能循环运行直到用户输入‘H‘才跳出循环。
主函数zonghe()的源代码:function zonghe()disp('Welcome to the students'' information library!');disp('Input A to input students'' information');disp('Input B to display all students'' information');disp('Input C to search a stuedent''s information');disp('Input D to delete a stuedent''s information');disp('Input E to add a new stuedent''s information');disp('Input F to display stuedents'' information from high to low of total score');disp('Input G to graphical display all stuedents'' information'); disp('Input H to exit');x=input('Please input the FUNCTION NUMBER:','s');while x~='H'if x=='A'disp('Input students'' information.');ztest();elseif x=='B'disp('Display all students'' information.');displaytest();elseif x=='C'disp('Search a stuedent''s information.');search();elseif x=='D'disp('Delete a stuedent''s information.');shanchu();elseif x=='E'disp('Add a new stuedent''s information.');add();elseif x=='F'disp('Display stuedents'' information from high to low of total score.');paixu();elseif x=='G'disp('Graphical display all stuedents'' information.');tuxing();elseif x=='H'disp('Thank you for using the students'' information library!');break;elsedisp('Invalid function number. Program is terminated!');endx=input('\nPlease input the FUNCTION NUMBER:','s');endend2 七个私有函数的设计与分析2.1 function ztest()的设计与分析ztest()函数实现从键盘输入学生成绩建立信息库的功能。
数字信号处理 Matlab实验一 Matlab 基本功能和基础知识操作
温州大学物理与电子信息工程学院Matlab 仿真及其应用 实验报告实验一Matlab 基本功能和基础知识操作 [实验目的和要求]1、 熟练掌握Matlab 的启动与退出2、 熟悉Matlab 的命令窗口、常用命令、帮助系统3、 熟悉Matlab 的数据类型、基本矩阵操作、运算符和字符串处理[实验内容]1、 用逻辑表达式球下列分段函数的值 22201112,=0:0.5:2.52123t t y t t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩其中2、 求[100,999]之间能被32整除的数的个数3、 建立一个字符串向量,删除其中的小写字母。
4、 输入矩阵1234514789A ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,求出此矩阵的行列式,逆和特征根,并找出A 中大于5和小于9的元素,用行列式表示。
5、 不采用循环的形式求出和式63230034ii i i S ===+∑∑6、 给定矩阵E=rand (4,4),计算C+E ,C*E ,C\E实验结果及分析:经过Matlab 软件的程序编辑和测试分析,得出以下实验结果: 详见程序代码、注释及屏幕截图:【题1】程序代码:t=0:0.5:2.5y=t.^2.*((t>=0)&(t<1))+(t.^2-1).*((t>=1)&(t<2))+(t.^2-2*t+1).*((t>=2)&(t<3)) 效果截图:【题2】程序代码:p=rem([100:999],32)==0;sum(p)效果截图:【题3】程序代码:ch='dfghjGUIJKVC',k=find(ch>'a'&ch<='z'),ch(k)=[]效果截图:【题4】程序代码:A=[1 2 3;4 5 14;7 8 9];[i,j]=find(A>5&A<9) %定位for n=1:length(i)m(n)=A(i(n),j(n))endDA=det(A) %行列式IA=inv(A) %逆矩阵EA=eig(A) %特征根效果截图:【题5】程序代码:E=rand(4,4); %产生随机数0~1 C=rand(4,4);B1=C+E;B2=C*E;B3=C/E;B1B2B3效果截图:【题6】程序代码:E=rand(4,4); %产生随机数0~1 C=rand(4,4);B1=C+E;B2=C*E;B3=C/E;B1B2B3效果截图:4、心得:通过本次Matlab课程实验,我已熟练Matlab的命令窗口、常用命令、帮助系统,并掌握Matlab的数据类型、基本矩阵操作、运算符和字符串处理。
数字信号处理实验报告-离散时间序列卷积和MATLAB实现
数字信号处理 实验报告实验一:离散时间序列卷积和MATLAB 实现一、实验目的通过本实验学会用MATLAB 对信号与系统进行分析,实现离散序列卷积和的计算。
二、实验仪器:(1)微机(2)MATLAB 编程工具 三:实验内容题一:已知序列f1(k)=⎩⎨⎧≤≤其它0201k f2(k)=⎪⎪⎩⎪⎪⎨⎧===其它332211k k k调用conv()函数求上述两序列的卷积和题二:编写计算两离散序列卷积和f(k)=f1(k)*f2(k)的实用函数dconv().要求该程序在计算出卷积和f(k)的同时,还绘出序列f1(k),f2(k)和f(k)的时域波形图。
function[f,k]=dconv(f1,f2,k1,k2)%f1(k),f2(k)及f(k)的对应序号向量分别为k1,k2和k 。
题三:试用MATLAB 计算如下所示序列f1(k)与f2(k)的卷积和f(k),绘出它们的时域波形,并说明序列f1(k)与f2(k)的时域宽度与序列f(k)的时域宽度的关系。
f1(k)=⎪⎪⎩⎪⎪⎨⎧==-=其它110211k k kf2(k)=⎩⎨⎧≤≤-其它221k提示:可用上述dconv()的函数来解决。
题四:已知某LTI 离散系统,其单位响应h(k)=e(k)-e(k-4),求该系统在激励为f(k)=e(k)-e(k-3)时的零状态响应,并绘出其时域波形图。
四、实验原理、方法和手段1、离散时间序列f1(k)和f2(k)的卷积和定义:f(k)=f1(k)*f2(k)=∑∞-∞=-•iikfif)(2)(12、在离散信号与系统分析中有两个与卷积和相关的重要结论:a、f(k)= ∑∞-∞=-•iikif)()(δ=f(k)* δ(k)即离散序列可分解为一系列幅度由f(k)决定的单位序列δ(k)及其平移序列之积。
b、对线性时不变系统,设其输入序列为f(k),单位响应为h(k),其零状态响应为y(k),则有:y(k)= ∑∞-∞=-•iikhif)()(五、matlab程序实现卷积和计算:1、题一(conv.m)clc;k1=3;k2=3;k=k1+k2-1;f1=[1,1,1];f2=[0,1,2,3];f=conv(f1,f2);nf=0:k;stem(nf,f,'*r'); xlabel('n'); ylabel('f(n)'); grid on ;2、题二 (dconv.m)function[f,k]=dconv(f1,f2,k1,k2);f=conv(f1,f2);k(1)=k1(1)+k2(1);k(length(f))=k1(length(f1))+k2(length(f2));k=k(1):k(length(f));subplot(1,3,1); stem(k1,f1,'*r'); xlabel('k1'); ylabel('f1(k1)'); grid on ;subplot(1,3,2); stem(k2,f2,'*r'); xlabel('k2'); ylabel('f2(k2)'); grid on ;subplot(1,3,3); stem(k,f,'*r'); xlabel('k'); ylabel('f(k)'); grid on ;3、题三(san.m)clc;f1=[1,2,1];f2=[1,1,1,1,1];k1=-1:1;k2=-2:2;dconv(f1,f2,k1,k2);4、题四 (si.m) clc;f1=[1,1,1,1];f2=[1,1,1];k1=0:3;k2=0:2;dconv(f1,f2,k1,k2);六、实验心得:(1)通过这次实验,让我知道序列的卷积和可以用matlab编程实现,并且实现的方法比较简单,而且matlab本身有丰富的函数库,画图、求卷积和时只要调用相应的函数即可。
MATLAB实验报告模板
MATLAB实验报告模板实验题目:使用MATLAB进行数字信号处理实验目的:1. 学习MATLAB的基本操作和数字信号处理中常用的函数。
2. 掌握数字信号的离散化、采样、量化等处理方法。
3. 实现数字滤波器的设计和应用。
实验内容:1. 生成并绘制一个正弦波信号,包括频率、幅度和相位等参数。
2. 对信号进行采样,并绘制采样后的离散信号图像。
3. 对采样后的信号进行量化,并绘制量化后的信号图像。
4. 设计一个数字滤波器,并将滤波前后的信号图像进行对比。
实验步骤:1. 生成一个正弦波信号:```matlab% 信号频率为3Hz,幅度为2,相位为0t = 0:0.01:1;f = 3;A = 2;theta = 0;x = A * sin(2*pi*f*t + theta);```2. 绘制信号图像:```matlabplot(t, x);xlabel('时间');ylabel('幅度');title('正弦波信号');```3. 进行信号的采样:```matlab% 采样频率为20Hzfs = 20;Ts = 1/fs;n = 0:Ts:1;xs = A * sin(2*pi*f*n + theta);```4. 绘制采样信号图像:```matlabstem(n, xs);xlabel('时间');ylabel('幅度');title('采样信号');```5. 进行信号的量化:```matlab% 将信号量化为8位bits = 8;delta = (2 * A) / (2^bits);xq = floor(xs / delta + 0.5) * delta;```6. 绘制量化信号图像:```matlabstem(n, xq);xlabel('时间');ylabel('幅度');title('量化信号');```7. 设计数字滤波器:```matlab% 采用FIR滤波器,截止频率为4Hz fcut = 4;n = 100; % 滤波器阶数b = fir1(n, 2*fcut/fs);y = filter(b, 1, xq);```8. 绘制滤波前后的信号图像:```matlabfigure;subplot(2,1,1);stem(n, xq);xlabel('时间');ylabel('幅度');title('量化信号');subplot(2,1,2);stem(n, y);xlabel('时间');ylabel('幅度');title('滤波信号');```实验结果和分析:根据以上实验步骤,可以得到正弦波信号、采样信号、量化信号和滤波信号等图像。
matlab dsp实验报告
MATLAB DSP实验报告介绍本实验报告将详细介绍在MATLAB环境下进行数字信号处理(DSP)的实验步骤和相关方法。
我们将通过逐步思考的方式,帮助读者理解和学习DSP的基本概念和技术。
实验环境和工具在进行DSP实验之前,我们需要准备以下环境和工具:1.MATLAB软件:确保已安装并配置好MATLAB软件,可以在MATLAB Command窗口中输入命令。
2.信号处理工具包:在MATLAB中,我们可以使用信号处理工具箱(Signal Processing Toolbox)来进行DSP实验和分析。
确保该工具箱已被安装并加载。
实验步骤下面是进行DSP实验的一般步骤:步骤一:加载信号首先,我们需要加载待处理的信号。
这可以通过在MATLAB中使用load命令加载一个音频文件或生成一个模拟信号实现。
例如,我们可以加载一个名为signal.wav的音频文件:load signal.wav步骤二:信号预处理在进行DSP之前,通常需要对信号进行预处理。
这可能包括去噪、滤波、均衡等操作。
例如,我们可以使用滤波器对信号进行降噪:filtered_signal = filter(filter_coefficients, signal);步骤三:信号分析一旦信号经过预处理,我们可以开始进行信号分析。
这可能涉及频域分析、时域分析、谱分析等。
例如,我们可以通过计算信号的快速傅里叶变换(FFT)获得其频谱:spectrum = fft(filtered_signal);步骤四:特征提取在信号分析之后,我们可以根据需要提取信号的特征。
这些特征可能包括幅度、频率、相位等。
例如,我们可以计算信号的能量:energy = sum(abs(filtered_signal).^2);步骤五:信号重构在完成信号分析和特征提取后,我们可以根据需要对信号进行重构。
这可能包括滤波、修复损坏的信号等。
例如,我们可以使用滤波器对信号进行重构:reconstructed_signal = filter(filter_coefficients, filtered_signal);步骤六:结果评估最后,我们需要评估重构后的信号和原始信号之间的差异。
数字信号处理第三版用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 时,大于模拟信号频率的两倍以上,采样信号的频谱不产生混叠。
数字信号处理实验指导书--Matlab版
下:
由于 e jω 是频率的周期函数,所以系统的频率特性也是频率的周期函数,且周期为 2π ,因 此研究系统频率特性只要在[ −π ,π ]范围内就可以了。
三、实验内容及步骤
1、在实验上机前,认真复习离散卷积和差分方程的有关内容,仔细阅读本实验原理和 步骤。准备实验所需数据。
2、离散卷积计算。 1)在主界面下进入“实验五” 的“离散卷积”子系统,选定几组不同的 x(n)、h(n) 代入离散卷积程序计算 y(n),记录实验结果。 3、差分方程迭代解法 1)¨在主界面下进入“实验五” 的“差分方程”子系统,本实验要求首先确定系统方 程系数个数和需要输出 y(n)的样点个数,然后依次输入 a[0]~a[N]、b[0]~b[N]这些系数的 数值和 y(n)的初始值 y(0)~y(N-1),h(n)的初始值 h(0)~h(N-1),运行后即得冲激响应 h(n) 和阶跃信号激励下的响应 y(n)的结果和图形显示。 2)自己选择一个离散时间系统,写出其差分方程,设好初始条件进行实验并记录实验 结果。 4、在主界面下进入“实验六”即“离散系统 Z 域分析”,本实验中给出了计算系统
明了系统结构、参数、特性三者之间的关系,即同一结构,参数不同其特性也不同。 例如,下图所示离散系统:
数学模型由下列差分方程描述: y(n)=ay(n-1)+x(n)
系统函数 系统频率特性
H (z) = z , | z |> a z−a
幅度特性为
H (e jω )
=
e jω e jω − a
数字信号处理,matlab实验报告
Matlab实验报告实验一:1.实验Matlab代码:N=25;Q=0.9+0.3*j;WN=exp(-2*j*pi/N);x=zeros(25,1);format long; %长整型科学计数for k0=1:25x(k0,1)=Q^(k0-1);end;for k1=1:25;X1(k1,1)=(1-Q^N)/(1-Q*WN^(k1-1));end;X1;X2=fft(x,32);subplot(3,1,1);stem(abs(X1),'b.');axis([0,35,0,15]);title('N=25,formular');xlabel('n'); subplot(3,1,2);stem(abs(X2),'g.');axis([0,35,0,15]);title('N=32, FFT');xlabel('n');for(a=1:25)X3(a)=X1(a)-X2(a)end;subplot(3,1,3);stem(abs(X3),'r.');title('difference');xlabel('n');实验结果如图:实验结论:可以看出基2时间抽选的FFT算法与利用公式法所得到的DFT结果稍有偏差,但不大,在工程上可以使用计算机利用FFT处理数据。
2.实验Matlab代码:N = 1000; % Length of DFTn = [0:1:N-1];xn = 0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4);Xk = fft(xn,N);k=[0:1:N-1];subplot(5,1,1);stem(k,abs(Xk(1:1:N)));title('DFT x(n)');xlabel('k');axis([140,240,0,6])subplot(5,1,2);stem(k, abs(Xk(1:1:N)),'r');%画出sin(0.3npi)-cos(0.302npi-pi/4) axis([140,160,0,6]);title('sin(0.3*pi*n)-cos(0.302*pi*n) ');xlabel('k');subplot(5,1,3);stem(k, 1000*abs(Xk(1:1:N)),'g');%画出0.001*cos(0.45npi)axis([220,230,0,6]);title('cos(0.45*pi*n) ');xlabel('k');subplot(5,1,4);stem(k,0.01*abs(Xk(1:1:N)),'k');%画%sin(0.3npi)-cos(0.302npi-pi/4)axis([140,160,0,6]);title('sin(0.3*pi*n)-cos(0.302*pi*n) ');xlabel('k');subplot(5,1,5);stem(k, 10*abs(Xk(1:1:N)),'m');%画出0.001*cos(0.45npi)axis([220,230,0,6]);title('cos(0.45*pi*n) ');xlabel('k');实验结果如图:实验结论:由上图及过程可知,当DFT变换长度为1000时所得到的谱线非常理想。
数字信号处理MATLAB实验
实验一熟悉MATLAB环境一、实验目的(1)熟悉MATLAB的主要操作命令。
(2)学会简单的矩阵输入和数据读写。
(3)掌握简单的绘图命令。
(4)用MATLAB编程并学会创建函数。
(5)观察离散系统的频率响应。
二、实验内容认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。
在熟悉了MATLAB基本命令的基础上,完成以下实验。
上机实验内容:(1)数组的加、减、乘、除和乘方运算。
输入A=[1 2 3 4],B=[3 4 56],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。
(2)用MATLAB实现以下序列。
a)x(n)=0.8n 0≤n≤15b)x(n)=e(0.2+3j)n 0≤n≤15c)x(n)=3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π) 0≤n≤15d)将c)中的x(n)扩展为以16为周期的函数x16(n)=x(n+16),绘出四个周期。
e)将c)中的x(n)扩展为以10为周期的函数x10(n)=x(n+10),绘出四个周期。
(3)x(n)=[1,-1,3,5],产生并绘出下列序列的样本。
a )x 1(n)=2x(n+2)-x(n-1)-2x(n)b )∑=-=51k 2)k n (nx (n) x(4)绘出下列时间函数的图形,对x 轴、y 轴以及图形上方均须加上适当的标注。
a) x(t)=sin(2πt) 0≤t ≤10s b) x(t)=cos(100πt)sin(πt) 0≤t ≤4s(5)编写函数stepshift(n0,n1,n2)实现u(n-n0),n1<n0<n2,绘出该函数的图形,起点为n1,终点为n2。
(6)给定一因果系统)0.9z 0.67z -1)/(1z 2(1H(z)-2-1-1+++=求出并绘制H(z)的幅频响应与相频响应。
(7)计算序列{8 -2 -1 2 3}和序列{2 3 -1 -3}的离散卷积,并作图表示卷积结果。
数字信号处理MATLAB实验报告
[H,w]=freqz(B,A,N)
其中,B与A分别表示 的分子和分母多项式的系数向量;N为正整数,默认值为512;返回值w包含 范围内的N个频率等分点;返回值H则是离散时间系统频率响应 在 范围内N个频率处的值。另一种形式为
[H,w]=freqz(B,A,N,’whole’)
与第一种方式不同之处在于角频率的范围由 扩展到 。
上机练习:
试用MATLAB的residuez函数,求出 的部分分式展开和。
b=[2 16 44 56 32];
a=[3 3 -15 18 -12];
[R,P,K]=residuez(b,a)
R =
+
zplane(B,A)
其中,B与A分别表示 的分子和分母多项式的系数向量。它的作用是在Z平面上画出单位圆、零点与极点。
与拉氏变换在连续系统中的作用类似,在离散系统中,z变换建立了时域函数 与z域函数 之间的对应关系。因此,z变换的函数 从形式可以反映 的部分内在性质。我们仍旧通过讨论 的一阶极点情况,来说明系统函数的零极点分布与系统时域特性的关系。
[R,P,K]=residuez(B,A)
其中,B,A分别表示X(z)的分子与分母多项式的系数向量;R为部分分式的系数向量;P为极点向量;K为多项式的系数。若X(z)为有理真分式,则K为零。
离散时间系统的系统函数定义为系统零状态响应的z变换与激励的z变换之比,即
(4-4)
如果系统函数 的有理函数表示式为
x=iztrans(z)
上式中的x和Z分别为时域表达式和z域表达式的符号表示,可通过sym函数来定义。
如果信号的z域表示式 是有理函数,进行z反变换的另一个方法是对 进行部分分式展开,然后求各简单分式的z反变换。设 的有理分式表示为
精品文档-数字信号处理实验(MATLAB版)刘舒帆-第21章
subplot(2,2,4),zplane(bd,ad); axis([-1.1,1.1,-1.1,1.1]);title(¢零极图¢);
14
程序运行结果如下: n= 5 Omgc=103.2016 bd=0.0072 0.0362 0.0725 0.0725 0.0362 0.0072 ad=1.0000 -1.9434 1.9680 -1.0702 0.3166 - 0.0392 sos=1.0000 1.0036 0 1.0000 -0.3193 0
%计算阶数n和截止频率 [z0,p0,k0]=buttap(n);%归一化原型设计
10
ba=k0*real(poly(z0));%求原型滤波器系数b aa=real(poly(p0));%求原型滤波器系数a [ba1,aa1]=lp2lp(ba,aa,Omgc);%变换为模拟低
通滤波器系数b,a %注意,以上4行求滤波器系数ba1、aa1的程序,可由下一 条程序替代 %[ba1,aa1]=butter(n,Omgc,¢s¢);%直接求模拟
12
set(gca,¢XTickMode¢,¢manual¢,¢XTick¢,[0, 0.25,0.4,1]);
set(gca,¢YTickMode¢,¢manual¢,¢YTick¢,[0, Attn,ripple,1]);grid
subplot(2,2,2),plot(w/pi,angle(H)/pi); ylabel(¢\phi¢);title(¢相位响应¢);axis([0,1, -1,1]); set(gca,¢XTickMode¢,¢manual¢,¢XTick¢,[0, 0.25,0.4,1]); set(gca,¢YTickMode¢,¢manual¢,¢YTick¢,[-1,0, 1]);grid
北邮数字信号处理MATLAB实验报告
数字信号处理软件实验——MatLab仿真实验报告学院:电子工程学院班级:2013211202姓名:学号:实验一:数字信号的 FFT 分析1、实验内容及要求(1) 离散信号的频谱分析:设信号 此信号的0.3pi 和 0.302pi 两根谱线相距很近,谱线 0.45pi 的幅度很小,请选择合适的序列长度 N 和窗函数,用 DFT 分析其频谱,要求得到清楚的三根谱线。
(2) DTMF 信号频谱分析用计算机声卡采用一段通信系统中电话双音多频(DTMF )拨号数字 0~9的数据,采用快速傅立叶变换(FFT )分析这10个号码DTMF 拨号时的频谱。
2、实验目的通过本次实验,应该掌握:(a) 用傅立叶变换进行信号分析时基本参数的选择。
(b) 经过离散时间傅立叶变换(DTFT )和有限长度离散傅立叶变换(DFT ) 后信号频谱上的区别,前者 DTFT 时间域是离散信号,频率域还是连续的,而 DFT 在两个域中都是离散的。
(c) 离散傅立叶变换的基本原理、特性,以及经典的快速算法(基2时间抽选法),体会快速算法的效率。
(d) 获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的概念,为将来进一步进行时频分析(例如小波)的学习和研究打下基础。
(e) 建立 DFT 从整体上可看成是由窄带相邻滤波器组成的滤波器组的概念,此概念的一个典型应用是数字音频压缩中的分析滤波器,例如 DVD AC3 和MPEG Audio 。
3.设计思路及实验步骤1)离散信号的频谱分析:该信号中要求能够清楚的观察到三根谱线。
由于频率0.3pi 和0.302pi 间隔非常小,要清楚的显示,必须采取足够大小的N ,使得分辨率足够好,至少到0.001单位级,而频率0.45pi 的幅度很小,要清楚的观察到它的谱线,必须采取幅度够大的窗函数,使得它的频谱幅度变大一些。
同时还要注意频谱泄漏的问题,三个正弦函数的周期(2pi/w )分别为20,40,1000,所以为了避免产生频谱泄漏(k=w/w0为整数),采样点数N 必须为1000的整数倍。
数字信号处理实验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对上述三个信号进行抽样。
数字信号处理实验报告MATLAB
数字信号处理实验报告姓名:班级:09电信一班学号:2)]得下图二,图二图一3.将如下文件另存为:sigadd.m文件function [y,n] = sigadd(x1,n1,x2,n2)% 实现y(n) = x1(n)+x2(n)% -----------------------------% [y,n] = sigadd(x1,n1,x2,n2)% y = 在包含n1 和n2 的n点上求序列和,% x1 = 在n1上的第一序列% x2 = 在n2上的第二序列(n2可与n1不等)n = min(min(n1),min(n2)):max(max(n1),max(n2)); % y(n)的长度y1 = zeros(1,length(n)); y2 = y1; % 初始化y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; % 具有y的长度的x1y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; % 具有y的长度的x2y = y1+y2;在命令窗口输入:x1=[1,0.5,0.3,0.4];n1=-1:2;x2=[0.2,0.3,0.4,0.5,0.8,1];n2=-2:3; [y,n] = sigadd(x1,n1,x2,n2)得:y =n=-1:10;x=sin(0.4*pi*n);y=fliplr(x);n1=-fliplr(n);subplot(2,1,1),stem(n,x) subplot(2,1,2),stem(n1,y在命令窗口键入:n=-1:10; x=sin(0.4*pi*n);n (samples)实验结果:1.(1)在命令窗口输入:tic; [am,pha]=dft1(x)N=length(x);w=exp(-j*2*pi/N);for k=1:Nsum=0;for n=1:Nsum=sum+x(n)*w^((k-1)*(n-1));endam(k)=abs(sum);pha(k)=angle(sum);end;toc得到如下结果:am =Columns 1 through 11120.0000 41.0066 20.9050 14.3996 11.3137 9.6215 8.6591 8.1567 8.0000 8.1567 8.6591Columns 12 through 169.6215 11.3137 14.3996 20.9050 41.0066pha =Columns 1 through 110 1.7671 1.9635 2.1598 2.3562 2.5525 2.7489 2.9452 3.1416 -2.9452 -2.7489Columns 12 through 16-2.5525 -2.3562 -2.1598 -1.9635 -1.7671Elapsed time is 0.047000 seconds.(2)在命令窗口输入:tic;[am,pha]=dft2(x)N=length(x);n=[0:N-1];k=[0:N-1];w=exp(-j*2*pi/N);nk=n’*k;wnk=w.^(nk); Xk=x*wnk; am= abs(Xk); pha=angle(Xk); toc得到下图:figure(1)00.10.20.30.40.50.60.70.80.91signal x(n), 0 <= n <= 99(2)在命令窗口键入:n3=[0:1:99];y3=[x(1:1:10) zeros(1,90)]; %添90个零。
《数字信号处理》实验及代码
实验一 用Matlab 进行数字信号处理一、实验目的1.掌握 MATLAB 基本的操作;2.学习典型的离散信号的Matlab 实现方法。
3.学习离散时间序列的基本运算:相加、相乘、移位等; 二、实验内容1. 练习把y=sin(x), z=cos(x),u=2sin(x),v=sin(x)/cos(x)在[0,2pi]区间内的4个子图分别用不同的颜色、点型和线型绘制在同一个窗口中,并加上纵坐标、标题、图例和网格线。
2. 利用MATLAB 编程产生和绘制下列有限长序列: (1)单位脉冲序列()n δ (2)单位阶跃序列()u n (3)矩形序列8()R n(4)正弦序列()sin()53x n n ππ=+(5)实指数序列0.9()n u n3.上机调试并打印或记录实验结果。
4.完成实验报告。
三、实验结果1. 实验程序如下:x=0:pi/10:2*pi;y=sin(x); plot(x,y,'r*:');grid on %绘制网格线 hold on z=cos(x); plot(x,z,'y+-'); hold on u=2*sin(x); plot(x,u,'bx-'); hold on v=sin(x)/cos(x); plot(x,v,'ko-');hold onxlabel('x 轴'); %x轴注释ylabel('y 轴'); %y轴注释legend({'y=sin(x)','z=cos(x)', 'u=2sin(x) ', 'v=sin(x)/cos(x) '}); %图形注解2. 程序如下:n=-20:20;n0=0;n1=8;w0=pi/5; w1=pi/3;x1=[(n-n0)==0];x2=[(n-n0)>=0];x3=[(n-n0)>=0& (n-n1)<=0];x4=sin(w0*n+w1);x5=0.9.^n.*x2;subplot(511);stem(n,x1);axis([ -20 20 0 2]);ylabel('\sigma(n)'); subplot(512);stem(n,x2);axis([ -20 20 0 2]);ylabel('u(n)');subplot(513);stem(n,x3);axis([ -20 20 0 2]);ylabel('R8(n)'); subplot(514);stem(n,x4);axis([ -20 20 -2 2]);ylabel(' sin(w0n+w1) '); subplot(515);stem(n,x5);axis([ -20 20 0 2]);ylabel('0.9nu(n)'); xlabel('n');实验二离散信号与系统一、实验目的1.掌握卷积定理、熟悉离散信号和系统的时域特性;2.学习Matlab进行卷积计算方法;3.学习Matlab求解差分方程二、实验内容1.离散信号的基本运算:对序列x(n)={2,3,4,1,2,5} ,n=0,1,2,3,4,5,的移位、乘法、加法、翻转及尺度变换。
数字信号处理(MATLAB版)上机实验操作
实验一离散时间信号与系统一、实验目的:1、熟悉常见离散时间信号的产生方法;2、熟悉离散时间系统的单位脉冲响应和单位阶跃响应的求解方法;3、熟悉离散时间信号经过离散时间系统的响应的求解方法。
二、实验内容:已知离散时间系统差分方程为y(n)-0.5y(n-1)+0.06y(n-2)=x(n)+x(n-1),求1、该系统的单位脉冲响应并绘图;2、该系统的单位阶跃响应并绘图;3、已知x(n)=可自己指定用filter函数经过系统的响应并绘图;4、用conv_m函数求系统响应并绘图。
三、实验平台:MA TLAB集成系统四、设计流程:此处写个人自己的设计流程五、程序清单:此处写程序内容六、调试和测试结果:此处写程序的执行结果和实验过程中的调试经过、出现的错误和对应的解决方法七、教师评语与成绩评定此处由老师填写上机操作:实验一离散时间信号与系统实验内容:1.脉冲响应>> b =[1,1]; a = [1,-0.5,0.06];n = [-10:25];>> impz(b,a,n);>> title('Impulse Response'); xlabel('n'); ylabel('h(n)')2.单位阶跃响应>> x = stepseq(0,-10,25); s = filter(b,a,x);Warning: Function call stepseq invokes inexact match d:\MATLAB7\work\STEPSEQ.M.>> stem(n,s)>> title('Step Response'); xlabel('n');ylabel('s(n)')3.>> a=[1,-0.5,0.06];b=[1,1];>> n=-20:120;>> x1=exp(-0.05*n).*sin(0.1*pi*n+pi/3);>> s1=filter(b,a,x1);>> stem(n,s1);;xlabel('n');ylabel('s1(n)');4.>> a=[1,-0.5,0.06];b=[1,1];>> n=-20:120;>> h=impz(b,a,n);>> x1=exp(-0.05*n).*sin(0.1*pi*n+pi/3);>> [y,m]=conv_m(x1,n,h,n);Warning: Function call conv_m invokes inexact match d:\MATLAB7\work\CONV_M.M. >> stem(m,y);title('系统响应');xlabel('m');ylabel('y(m)');实验二离散信号与系统的连续频域分析一、实验目的:1、掌握离散时间信号的DTFT的MATLAB实现;2、掌握离散时间系统的DTFT分析;3、掌握系统函数和频率相应之间的关系。
数字信号处理实验
实验一 熟悉MATLAB 环境一、实验目的1. 熟悉MATLAB 环境的主要操作命令。
2. 掌握简单的绘图命令。
3. 用MATLAB 编程并学会创建函数。
二、实验仪器装有MATLAB 语言的计算机 三、实验原理MATLAB 的基本命令和函数 四、实验内容和要求1. 序列的产生1)编写MATLAB 程序,产生并绘制一个单位样本(单位冲激或单位阶跃)序列2)编写MATLAB 程序,生成一个实数值的指数序列(例:1508.0)(≤≤=n n x n 或150)()32.0(≤≤=+n e n x nj );3)编写MATLAB 程序,产生一个正弦信号;(例:150)1.025.0sin(2)2.0125.0cos(3)(≤≤+++=n n n n x ππππ)实验二离散序列的基本运算一、实验目的(1)进一步了解离散时间序列时域的基本运算。
(2)了解MATLAB语言进行离散序列运算的常用函数,掌握离散序列运算程序的编写方法。
二、实验原理离散序列的时域运算包括信号的相加、相乘,信号的时域变换包括信号的移位、反折、倒相及信号的尺度变换等。
三、实验内容1、x(n)=u(n-2)+u(n+2),(-5<n<5)。
MATLAB程序如下:n1=-5;n2=5;n01=2,n02=-2;n=n1:n2;x1=[(n-n01)>=0];x2=[(n-n02)>=0];x3=x1+x2;subplot(3,1,1);stem(n,x1,'filled');axis([n1,n2,1.1*min(x1),1.1*max(x1)]);ylabel('u(n-2)');subplot(3,1,2);stem(n,x2,'filled');axis([n1,n2,1.1*min(x2),1.1*max(x2)]);ylabel('u(n+2)');subplot(3,1,3);stem(n,x3,'filled');axis([n1,n2,1.1*min(x3),1.1*max(x3)]);ylabel('u(n-2)+u(n+2)');2、已知x(n)=3cos(2πn/10),试显示x(n-3)和x(n+3)在0<n<20区间的波形。
数字信号处理实验报告 (基于MATLAB)
课程名称:数字信号处理实验实验地点:综合楼C407专业班级:2014级生物医学工程姓名:leifeng学号:指导老师:第一次实验第一章 离散时间信号的时域分析Q1.1运行程序P1.1,以产生单位样本序列u[n]并显示它clf; n=-10:20;u=[zeros(1,10) 1 zeros(1,20)]; stem(n,u);xlabel('时间序号');ylabel('振幅'); title('单位样本序列'); axis([-10 20 0 1.2]);时间序号振幅单位样本序列Q1.2 命令clf ,axis ,title ,xlabel 和ylabel 的作用是什么clf :清除图形窗口内容; axis:规定横纵坐标的范围;title :使图像面板上方显示相应的题目名称; xlable :定义横坐标的名字; ylable :定义纵坐标的名字。
Q1.3修改程序P1.1以产生带有延时11个样本的延迟单位样本序列ud[n],运行修改的程序并且显示产生的序列。
clf; n=0:30;u=[zeros(1,11) 1 zeros(1,19)]; stem(n,u);xlabel('时间序号');ylabel('振幅'); title('单位样本序列'); axis([0 30 0 1.2]);时间序号振幅单位样本序列Q1.5 修改程序P1.1,以产生带有超前7个样本的延时单位阶跃序列sd[n]。
运行修改后的程序并显示产生的序列。
clf; n=-10:20;sd=[zeros(1,3) 1 ones(1,27) ]; stem(n,sd);xlabel('时间序号');ylabel('振幅'); title('单位样本序列'); axis([-10 20 0 1.2]);时间序号振幅单位样本序列Q1.6运行程序P1.2,以产生复数值的指数序列。
matlab数字信号处理仿真
第一实验室:基础实验篇第Ⅰ部分 基本训练题目第Ⅱ部分 简介各题目的原理、程序、效果第Ⅲ部分 基研训练程序软件压缩文件第Ⅰ部分 基本训练题目1-1-1 序列的图示方法 DSP11011-1-2 连续信号及采样信号的图示方法 DSP 11021-1-3单位冲激序列函数impseq单位冲激序列图示 DSP 11031-1-4 单位阶跃序列函数stepseq单位阶跃序列图示 DSP11041-1-5 矩形序列)(n R N 及图示 DSP11051-1-6 实指数序列)(n a n ε及图示 DSP11061-1-7 正弦序列)sin(n *ω及图示 DSP11071-1-8 复指数序列n jm e *+)(σ及图示 DSP11081-1-9 周期序列)()(N n x n x +=及图示 DSP 11091-1-10 常用5种连续信号及图示 DSP11101-1-11 离散序列的运算 DSP11111-1-12 输入序列)(n x 与系统冲激响应)(n h 的卷积),(h x conv DSP11121-1-13 非零起点时两信号的卷积),(h x convmDSP1113 1-2-1 指数序列)(8.0)(n n x n ε=的离散时间傅立叶变换 DSP 12011-2-2 矩形序列)(n R N 的离散时间傅立叶变换 DSP12021-2-3 离散时间傅立叶变换的性质 DSP12031-2-4 正弦序列输入,输出为正弦序列,幅度相位因)(ωj e H 变化 DSP1204 1-2-5 模拟信号t a e t x 1000)(-=付氏变换与采样信号的离散时间傅立叶变换DSP 12051-3-1 N 点离散傅立叶变换 dft(xn,N)1-3-2 N 点离散傅立叶反变换 idft(xn,N)1-3-3 DFT 与)(n x 的Z 变换关系 DSP13031-3-4 DFT 与)(n x 的离散时间傅立叶变换的关系 DSP 13041-3-5 有限长序列添零填充,得高密度DFT ,离散时间付氏频谱不变 DSP1305 1-3-6 采样点增多的高分辨率DFT ,采样点数少仅添零的高密度DFT DSP1306 1-3-7 DFT 的圆周移位函数cirshftt1-3-8 DFT 圆周移位实例 DSP13081-3-9 圆周卷积 DSP13091-3-10 复共轭序列的DFT DSP13101-3-11 DFT 的共轭对称性 DSP 13111-3-12 补零填充实现线性卷积 DSP13121-3-13 重迭保留法实现线性卷积 DSP13131-3-14 重迭保留实现函数 ovrlpsav1-3-15 DET 对连续信号作近似谱分析:滤高频,避免混迭频谱;截高时;变有限长序列,避免泄漏频谱 DSP13151-3-16 采样点为100,进行200点DFT ,对)(t e t ε-进行谱分析 DSP 1316 1-3-17 实序列的奇偶分解及DFT 的虚实分量 DSP13171-3-18 实序列的奇偶分解函数 DSP13181-3-19 用FFT 分析信号频率成分 DSP13191-3-20 用FFT 分析语言信号的频谱 DSP13201-3-21 DCT 变换 DSP13211-3-22 用DCT 变换进行语言压缩 DSP13221-3-23 线性调频Z 变换 DSP13231-3-24 利用CZT 计算滤波器100—150HZ 频率特性的细节 DSP13242-1-1 直接型实现系统函数H (Z )的IIR 数字滤波器 DSP 21012-1-2 级联型实现系统H (Z )的IIR 数字滤波器 DSP21022-1-3 级联型实现H (Z )的IIR 数字滤波器 DSP21032-1-4 直接型实现H (Z )的IIR 数字滤波器 DSP21042-1-5 并联型实现H (Z )的IIR 数字滤波器 DSP 21052-1-6 并联型 DSP 21062-1-7 直接型 DSP21072-1-8 最终的级联,并联 DSP21082-1-9 直接型⇒级联型 dir2cas(b,a)2-1-10 级联型→直接型 cas2par(b0,B,A)2-1-11 直接型→并联型 dir2par2-1-12 并联型→直接型 par2dire2-1-13 并联型→级联型 casfilter2-1-14 级联型→并联型 parfilter2-2-1 FIR 直接型滤波器 DSP 22012-2-2 FIR 级联型滤波器 DSP22022-2-3 FIR 的频率取样形式结构 DSP 22032-2-4 (原例11)由频率样本{2,1,0315,......5,415.00)(====k k k k H求频率采样形式,及单位冲激响应)(n h DSP22042-2-5 窄带滤波器中的频率采取滤波器是由直接型转换为频率采样型 dir2fs(n)3-1-1 偶对称奇序列的⒈型FIR 滤波器的振幅响应 hr_type13-1-2 偶对称奇序列的)(ωH 及零极点分布 DSP31023-1-3 偶对称偶序列的Ⅱ型FIR 滤波器的振幅响应 hr_type23-1-4 偶对称偶序列的)(ωH 及零极点分布 DSP31043-1-5 奇对称奇序列的Ⅲ型FIR 滤波器的振幅响应 hr_type33-1-6 奇对称奇序列的)(ωH 及零极点分布 DSP31063-1-7 奇对称偶序列的Ⅳ型FIR 滤波器的振幅响应 hr_type43-1-8 奇对称偶序列的)(ωH 及零极点分布 DSP31083-1-9 线性相位FIR 滤波器的零点位置有4种可能 DSP31093-1-10 常用加窗函数 DSP32103-1-11 对信号用加窗函数的DFT 分析频谱 DSP32113-2-1 计算理想低通滤波器的)(n h a DSP32013-2-2 计算FIR 滤波器的绝对和相对的幅度响应 DSP32023-2-3 提取大于50dB 衰减的汉明窗FIR 低通滤波器 DSP32033-2-4 理想高通,偶对称因果序列,N 为奇的窗函数,滤波器的单位冲激响应)(n h d DSP32043-2-5 汉宁窗,44dB 最小阻带衰减,过度带N π2.6 DSP32053-2-6 理想高通,奇对称因果序列,N 为偶的窗函数,滤波器的单位冲激响应)(n h d DSP32063-2-7 汉宁窗,44dB 最小阻带衰减,过度带N π2.6 DSP32073-2-8 理想高通,偶对称因果序列,N 为奇的窗函数,滤波器的单位冲激响应)(n h d DSP32083-2-9 设计一个数字FIR 带通滤波器 DSP32093-2-10 理想带通数字滤波器的频率响应)(e H jw d DSP3210 3-2-11 设计一个具有2π相移的数字FIR 带通滤波器 DSP3211 3-2-12 理想带阻,偶对称因果序列,N 为奇的窗函数,滤波器的单位冲激响应)(n h d ideal-be()3-2-13 设计一个数字FIR带阻滤波器DSP32133-3-1 采样点ω=0处的频率采样法DSP33013-3-2 在过渡带上加两个T1和T2 DSP33023-3-3 设计2型FIR低通滤波器 DSP33033-3-4 设计1型FIR高通滤波器 DSP33043-3-5 设计4型FIR高通滤波器 DSP33053-3-6 设计2型FIR带通滤波器 DSP33063-3-7 设计1型FIR带阻滤波器 DSP33073-3-8 设计1型FIR低通滤波器 DSP33083-3-9 设计1型FIR高通滤波器 DSP33093-3-10 设计4型FIR高通滤波器 DSP33103-3-11 设计3型FIR带通滤波器 DSP33113-4-1 用频率响应采样法1设计具有线性相位 DSP34013-4-2 用窗函数法设计具有线性相位 DSP34023-4-3 用频率采样法1设计低通滤波器对其进行除噪 DSP34034-1-1 在MATLAB中用afd_butt(Omegap,Omegar,Ap,Ar)函数来设计巴特沃斯模拟低通滤波器 DSP41014-1-2 若设计非归一化(Ωc≠1)巴特沃斯模拟低通滤波器原型DSP4102 4-1-3 freqs_m(b,a,Omega_max)函数 DSP41034-1-4 sdir2cas函数 DSP41044-1-5 设计一个巴特沃斯模拟滤波器 DSP41054-2-1 用来实现N阶、通带波动为δ的归一化切比学夫1型模拟低通滤波器DSP42014-2-2 根据技术指标设计切比学夫1型模拟滤波器 DSP42024-2-3 设计一个低通切比学夫1型滤波器 DSP42034-2-4 设计归一化切比学夫2型模拟滤波器 DSP42044-2-5 根据给定指标设计切比学夫2型模拟滤波器 DSP42054-2-6 设计一个切比学夫2型低通滤波器 DSP42064-3-1 用imp_invr函数实现脉冲响应不变法DSP 43014-3-2 设计一个巴特沃斯模拟滤波器 DSP43024-3-3 设计低通数字滤波器 DSP43034-3-4 设计低通数字滤波器 DSP43044-4-1 双线性变换法设计低通数字滤波器 DSP44014-4-2 切比雪夫滤波器原型用双线性变换法设计低通数字滤波器 DSP44024-5-14-5-24-5-34-5-4 分别设计一个巴特沃斯滤波器和切比雪夫高通滤波器 DSP45044-5-5 分别设计一个巴特沃斯滤波器和切比雪夫高通滤波器 DSP45054-5-6 设计一个巴特沃斯带通滤波器 DSP45064-5-7 设计一个切比雪夫带通滤波器 DSP45074-5-8 设计一个滤波器 DSP45084-5-9 设计一个滤波器 DSP45094-5-10 设计一个滤波器 DSP45104-6-1 zampping DSP46014-6-2用zmapping函数实现例11中的高通滤波器 DSP46024-6-3切比雪夫1型高通数字滤波器,上述过程由chebhpf函数实现 DSP4603 4-6-4用数字频域变换法,设计一个切比雪夫1型高通数字滤波器 DSP46044-6-5 用双线性变换法设计低通滤波器 DSP46054-6-6 用脉冲响应不变法设计的低通滤波器对其除噪 DSP46064-6-7 模拟信号DSP46075-1-1下采样DSP 51015-1-2 例题DSP51025-1-3上采样DSP51035-1-4 程序DSP51045-1-5 采样率的非整数倍转换DSP51055-1-6 程序DSP51065-1-7 例题DSP51075-1-8 用傅立叶变换对信号进行消噪声处理DSP51085-1-9 信号特定频率的提取DSP51095-1-10例题DSP51105-1-11信号特定频率区间的抑制DSP5111第Ⅱ部分简介各题目的原理、程序、效果1-1-1 序列的图示方法DSP1101原理:数字信号处理中,所有信号都是离散时间信号——序列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求下列信号,并画图
y1(n)=x(n)*h1(n), y2(n)=x(n)*h2(n), y3(n)=x(n)*h3(n)
要求
验证线性卷积的线性性质 分析输出和输入之间相对位移与对应系统的h(n)之间的 关系 绘制x(n),h(n)和y(n)。给出分析结果
其FT为
j j 2 j 3 0.8 0.44 e 0.36 e 0.02 e H (e j ) 1 0.7e j 0.45e j 2 0.6e j 3
用MATLAB计算的程序如下: k=256; num=[0.8 -0.44 0.36 0.02]; den=[1 0.7 -0.45 -0.6]; w=0:pi/k:pi; h=freqz(num,den,w); subplot(2,2,1); plot(w/pi,real(h));grid title(‘实部’) xlabel('\omega/\pi');ylabel('幅度')
图1.1给出了卷积结果的图形,求得的结果存放在数 组c中为:{-2 -4 1 3 1 5 1 -3}。
例 2 用 MATLAB 计算差分方程的输出:
已知输入序列 ,求输出 解 MATLAB程序如下: N=41; a=[0.8 -0.44 0.36 0.22]; b=[1 0.7 -0.45 -0.6]; x=[1 zeros(1,N-1)]; k=0:1:N-1; y=filter(a,b,x); stem(k,y) xlabel('n');ylabel('幅度')
相关结果的长度与信号长度的关系 值点判断两信号之间的相对时差
例6:利用相关运算 检测两个信号的相对时移
计算例5中y1(n)和y2(n)的互相关,根据互相关峰
计算h1(n)和h2(n)的互相关,根据峰值点位置判
断两信号之间的相对时差 对比上述两个互相关的关系,分析二者之间的关 系
要求
。
1.5
1
0.5
幅度
0 -0.5 -1 0
5
10
15
20 n
25
30
35
40
图 1.2 给出了该差分方程的前41个样点的输出,即该系统的 单位脉冲响应。表达式进原理图输入。
例 3 用 MATLAB 计算差分方程所对应 的系统函数的频率响应
解 例2差分方程所对应的系统函数为:
0.8 0.44 z 1 0.36 z 2 0.02 z 3 H ( z) 1 0.7 z 1 0.45 z 2 0.6 z 3
例1 用MATLAB 下列序列的离散卷积: {-2 0 1 –1 3},{1 2 0 -1} 解 MATLAB程序如下: a=[-2 0 1 -1 3]; b=[1 2 0M=length(c)-1; n=0:1:M; stem(n,c); xlabel('n'); ylabel('幅度');
位冲激响应和阶跃响应,并绘出其图形。要求分
别用 filter、conv、impz三种函数完成,给出理
论计算结果和程序计算结果并讨论。
y[n] 0.75y[n 1] 0.125y[n 2] x[n] x[n 1] y[n] 0.25{x[n 1] x[n 2] x[n 3] x[n 4]}
数字信号处理实验
实验安排
实验一 序列的基本运算 实验二 快速傅立叶变换(FFT)及其应用 实验三 IIR数字滤波器的设计
实验四 FIR数字滤波器的设计
实验一序列的基本运算
一、实验目的
1.在理论学习的基础上,通过本实验,加深对序列基本运算 的理解;
2.熟悉利用matlab软件做简单的仿真实验;
二、实验原理及内容
subplot(2,2,2); plot(w/pi,imag(h));grid title('虚部') xlabel('\omega/\pi');ylabel('Amplitude') subplot(2,2,3); plot(w/pi,abs(h));grid title('幅度谱') xlabel('\omega/\pi');ylabel('幅值') subplot(2,2,4); plot(w/pi,angle(h));grid title('相位谱') xlabel('\omega/\pi');ylabel('弧度')
实部 6 4 10 6 4 5 2 0 -5 0 -10 -2
虚部
2 0 -2
0
0.5
0.5 1 / 幅度谱
1.5
1 2
Amplitude Amplitude
幅度
幅值
4 2 0
弧度
幅 度
0
0.5
0.5 1 / 相位谱
1.5
1 2
8 6
3 4 2 1 0 -2 0 -1 -4
0
0.5
0.5 1 /
理解matlab显示的相关函数中点与rxy(0)或者ryx(0)之间 的关系
分析相关函数rxy与ryx之间的关系 理解掌握max(rxy )的相对于matlab显示的相关函数中点 的位置关系与参与运算的两信号之间的时差关系 分析输出y1与y2互相关的最大值的位置place_y(相对 于中点),分析输出h1与h2互相关的最大值的位置 place_h(相对于中点) 讨论place_y与place_h的关系,可以得出怎样的结论? 绘制各种相关函数曲线,给出分析结果
y=filter(p,d,x)实现差分方程的仿真 y=conv(x,h)计算卷积 y=impz(p,d,N)求系统的冲激响应
例5:计算信号的卷积
i=0:1:49 x(n)=sin(2*pi*i/50) h1(n)=[zeros(1,10),1,zeros(1,20)];
h2(n) =[zeros(1,20),1,zeros(1,10)];
1.5
1 2
0
0.5
分析范围: 分析范围: [0, [0, 2π] π]
0.5 1 /
1.5
1 2
end
要求
验证线性卷积的线性性质 分析输出和输入之间相对位移与对应系统的h(n)之间的 关系 绘制x(n),h(n)和y(n)。给出分析结果
例4(选做)
编制程序求解下列两个系统的单