数字信号处理实验(MATLAB版)刘图文 (8)

合集下载

数字信号处理实验报告MATLB第一章

数字信号处理实验报告MATLB第一章

第一章离散时间信号的频域分析P1.1 单位样本和单位阶跃序列%程序P1_1%一个单位序列的产生clf;%产生从-10到20的一个向量n=-10:20;%产生单位样本序列u=[zeros(1,10) 1 zeros(1,20)];%绘制单位样本序列stem(n,u);xlabel('时间序号n');ylabel('振幅');title('单位样本序列');axis([-10 20 0 1.2]);1.1运行程序P1.1,以产生单位样本序列u[n]并显示它。

1.2:命令clf,axis,title,xlabel,和ylabel的作用是什么?clf—函数用于清除当前图像窗口。

axis—设置坐标轴的范围和显示方式title—就是给已经画出的图加一个标题xlabel—添加x坐标标注ylabel—添加y坐标标注1.3修改程序P1.1,以产生带有延时11个样本的延迟单位样本序列ud[n]。

运行修改的程序并显示产生的序列。

%程序%产生并绘制一个单位样本序列延时11clf;%产生从-10到20的一个向量n=-10:20;%产生单位样本序列u=[zeros(1,3) 1 zeros(1,27)];%绘制单位样本序列stem(n,u);xlabel('时间序号n');ylabel('振幅');title('单位样本序列');axis([-10 20 0 1.2]);1.5 修改程序P1.1,以产生带有超前7个样本的延时单位阶跃序列sd[n]。

运行修改后的序并显示产生的序列。

%程序%产生并绘制一个单位样本序列超前7clf;%产生从-10到20的一个向量n=-10:20;%产生单位样本序列u=[zeros(1,3) 1 zeros(1,27)];%绘制单位样本序列stem(n,u);xlabel('时间序号n');ylabel('振幅'); title('单位样本序列');axis([-10 20 0 1.2]);P1.2 指数信号%程序P1_2%生成一个复数指数序列clf;c=-(1/12)+(pi/6)*i;k=2;n=0:40;x=k*exp(c*n);subplot(2,1,1);stem(n,real(x));xlabel('时间序号n');ylabel('振幅');title('实部');subplot(2,1,2);stem(n,imag(x));xlabel('时间序号n');ylabel('振幅');title('虚部');1.6 运行程序P1.2,以产生复数值的指数序列。

数字信号处理实验(MATLAB版)1章图文 (8)

数字信号处理实验(MATLAB版)1章图文 (8)

5
一般电话对声音的要求是最低的,只需传输0.3~3.4 kHz 范围内的频率,采样频率可以取最低的8 kHz,单声道,量化8 位。CD唱片则要求能聆听20 kHz的频率,故采样频率取44.1 kHz,立体声,量化16位。
放音时,量化了的数字信号又通过D/A转换器,把保存起 来的数字数据恢复成原来的模拟的语音信号。
6
三、实验任务 (1)用计算机的声音编辑工具录制一段语音信号,生
成.wav文件。录制的语音信号可以由话筒输入,也可以由CD输 入。
*提示 计算机声音编辑工具的使用方法是:在Windows操 作系统下点击【开始】→【程序】→【附件】→【娱乐】→ 【录音机】,将出现如图28-1所示的录音机面板。
7 图28-1 Windows操作系统下的录音机面板
8
(2)理解信号采样率的定义方法。选择3种不同的采样率对 同一语音信号进行采样,生成.wav文件,并试听回放效果,进 行比较。
*提示 在Windows操作系统的录音机【文件】→【属性】 下,将显示如图28-2所示的界面,可以选择放音、录音格式。 单击【立即转换】,将显示如图28-3所示的界面,可以选择采 样速率、量化等级、单声道或立体声等指标。
用计算机的声音编辑工具进行语音信号的录制时,已经利 用了计算机上的A/D转换器,将模拟的声音信号变成了离散的 量化了的数字信号。
4
把这段语音信号以数据的形式存储起来,可以得到以.wav 作为文件扩展名的文件。Wav格式是Windows下通用的数字音频 文件标准。其数据格式为二进制码,编码方式为PCM(脉冲编码 调制)。其采样速率从8 kHz到48 kHz,通常三个标准的采样频 率分别为44.1 kHz,22.05 kHz,11.025 kHz。量化等级有8位 和16位两种,且分为单声道和立体声,使用时可根据需要进行 选择。

数字信号处理指导书matlab版

数字信号处理指导书matlab版

实验1 时域离散信号的产生一、实验目的学会运用MATLAB 产生常用离散时间信号。

二、实验涉及的matlab 子函数 1、square 功能:产生矩形波 调用格式:x=square(t);类似于sin (t ),产生周期为2*pi ,幅值为+—1的方波。

x=square(t ,duty);产生制定周期的矩形波,其中duty 用于指定脉冲宽度与整个周期的比例。

2、rand功能:产生rand 随机信号。

调用格式:x=rand (n ,m );用于产生一组具有n 行m 列的随机信号。

三、实验原理在时间轴的离散点上取值的信号,称为离散时间信号。

通常,离散时间信号用x (n )表示,其幅度可以在某一范围内连续取值。

由于信号处理所用的设备主要是计算机或专用的信号处理芯片,均以有限的位数来表示信号的幅度,因此,信号的幅度也必须“量化”,即取离散值。

我们把时间和幅度上均取离散值的信号称为时域离散信号或数字信号。

在MATLAB 中,时域离散信号可以通过编写程序直接生成,也可以通过对连续信号的等间隔抽样获得。

下面介绍常用的时域离散信号及其程序。

1、单位抽样序列⎩⎨⎧≠==0001)(k k k δMATLAB 源程序为1) function [x,n] = impuls (n0,n1,n2)% Generates x(n) = delta(n-n0); n=n0 处建立一个单位抽样序列% [x,n] = impuls (n0,n1,n2)if ((n0 < n1) | (n0 > n2) | (n1 > n2))error('arguments must satisfy n1 <= n0 <= n2') endn = [n1:n2];x = [zeros(1,(n0-n1)), 1, zeros(1,(n2-n0))];将上述文件存为:impuls.m,在命令窗口输入n0=0,n1=-10,n2=11;[x,n]=impuls (n0,n1,n2); stem(n,x,’filled’)2)n1=-5;n2=5;n0=0;n=n1:n2;x=[n==n0];stem(n,x,'filled','k');axis([n1,n2,1.1*min(x),1.1*max(x)]);title('单位脉冲序列');xlabel('时间(n)');ylabel('幅度x(n)');3)n1=-5;n2=5;k=0;n=n1:n2;nt=length(n); %求n点的个数nk=abs(k-n1)+1; %确定k在n序列中的位置x=zeros(1,nt); %对所有样点置0x(nk)=1; %对抽样点置1stem(n,x,'filled','k');axis([n1,n2,0,1.1*max(x)]);title('单位脉冲序列');xlabel('时间(n)');Ylabel('幅度x(n)');单位脉冲序列时间(n)幅度x (n )2、单位阶跃序列⎩⎨⎧<≥=0001)(k k k ε MATLAB 源程序为:1) n1=-2;n2=8;n0=0;n=n1:n2; %生成离散信号的时间序列 x=[n>=n0]; %生成离散信号x(n)stem(n, x,'filled','k'); %绘制脉冲杆图,且圆点处用实芯圆表示 axis([n1,n2,0,1.1*max(x)]); title('单位阶跃序列'); xlabel('时间(n)'); Ylabel('幅度x(n)');2) n1=-2;n2=8;k=0; n=n1:n2;nt=length(n); %求n 点的个数nk=abs(k-n1)+1; %确定k 在n 序列中的位置x=[zeros(1,nk-1),ones(1,nt-nk+1)]; %对所有样点置0 stem(n,x,'filled','k');axis([n1,n2,0,1.1*max(x)]); title('单位阶跃序列'); xlabel('时间(n)'); ylabel('幅度x(n)');时间(n)幅度x (n )3、正弦序列x (n )=Um ()θω+n sin例、已知一时域周期性正弦信号的频率为1HZ ,振幅幅度为1V ,在窗口中显示两个周期的信号波形,并对该信号的一个周期进行32点采样获得离散信号。

数字信号处理matlab实验

数字信号处理matlab实验

目录实验一数字信号的产生和频谱分析实验 (2)一.实验目的 (2)二.实验要求 (2)三.实验原理 (2)四.实验步骤 (3)五.流程图 (3)七.实验结果分析 (6)实验二FIR数字滤波器设计 (7)一.试验目的 (7)二.实验要求 (7)三.实验原理和步骤 (7)四.实验流程图 (7)五.实验波形 (8)六.实验结果分析 (11)实验三IIR数字滤波器设计 (11)一.试验目的 (11)二.实验要求 (11)三.实验原理 (12)四.实验流程图 (12)五.实验波形 (13)六.实验结果分析 (14)实验四模拟调制解调 (14)一.试验目的 (14)二.实验要求 (14)三.实验原理 (15)四.实验流程图 (15)五.实验波形 (16)六.实验结果分析 (17)实验五数字调制解调 (17)一.试验目的 (17)二.实验要求 (17)三.实验原理 (18)四.实验流程图 (18)五.实验波形 (18)六.实验结果分析 (20)实验一数字信号的产生和频谱分析实验一.实验目的1.通过仿真掌握采样定理2.掌握利用FFT进行信号谱分析的原理二.实验要求1. 按照采样定理生成CW信号和LFM信号;2. 画出信号时域波形图和频谱图;3. 生成高斯分布的白噪声;4. 生成一定信噪比的带噪信号,并对其进行谱分析。

三.实验原理1.采样定理:在模拟信号数字化时,需要对模拟信号进行采样,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>=2fmax),采样之后的数字信号完整地保留了原始信号中的信息,否则会发生频谱混叠,造成最后解调出来的信号失真.一般实际应用中保证采样频率为信号最高频率的5~10倍;采样定理又称奈奎斯特定理。

2.快速傅立叶变换(FFT)算法长度为N的序列的离散傅立叶变换为:N点的DFT可以分解为两个N/2点的DFT,每个N/2点的DFT又可以分解为两个N/4点的DFT。

matlab数字信号处理实验

matlab数字信号处理实验
X(z)= (1-7)
以 代替上式中的Z,就可以得到序列x(n)的傅里叶变换
X( )= (1-8)
式(1—6)和式(1—8)具有如下关系:
=X( )︱ (1-9)
由式(1—9)可知,在分析一个连续时间信号的频谱时,可以通过取样将有关的计算转换为序列傅里叶变换的计算。
(二)有限长序列分析
一般来说,在计算机上不可能,也不必要处理连续的曲线X(e ),通常,我们只观察、分析X(e )在某些频率点上的值。对于长度为N的有限长序列
(1-5)
作为拉氏变换的一种特例,信号理想采样的傅里叶变换
(1-6)
由式(1—5)和式(1—6)可知,信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期等于采样频率,根据Shannon取样定理,如果原信号是带限信号,且采样频率高于原信号的最高频率分量2倍,则采样以后不会发生频谱混迭现象。
在计算机处理时,不采用式(1—6)计算信号的频谱,而是利用序列的傅里叶变换计算信号的频谱,可以得到序列x(n)的Z变换为:
信号产生子程序:
1、理想采样信号序列xa(n)
n=0:50;
A=444.128;
a=50*sqrt(2.0)*pi;
T=1/1000;
w0=50*sqrt(2.0)*pi;
x=A*exp(-a*n*T).*sin(w0*n*T);
close all
subplot(3,1,1);
stem(x);
title('通信学号理想采样信号序列xa(n)');
贴出最后得到的图形
四:思考:系统最高频率是多少?第一个实验中有无频谱混迭,为什么?第二个实验中有无频谱混迭,为什么?
X=x*(exp(-j*pi/12.5)).^(n'*k);

数字信号处理MATLAB实验

数字信号处理MATLAB实验

实验一熟悉MATLAB环境一、实验目的(1)熟悉MATLAB的主要操作命令。

(2)学会简单的矩阵输入与数据读写。

(3)掌握简单的绘图命令。

(4)用MATLAB编程并学会创建函数。

(5)观察离散系统的频率响应。

二、实验内容认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。

在熟悉了MATLAB基本命令的基础上,完成以下实验。

上机实验内容:(1)数组的加、减、乘、除与乘方运算。

输入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并用stem语句画出A、B、C、D、E、F、G。

(2)用MATLAB实现以下序列。

a)x(n)=0、8n0≤n≤15b)x(n)=e(0、2+3j)n0≤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}的离散卷积,并作图表示卷积结果。

数字信号处理课后实验程序及结果图

数字信号处理课后实验程序及结果图

第 8 章
上 机 实 验
(4) 如果输入信号为无限长序列, 系统的单位脉冲
响应是有限长序列, 可用分段线性卷积法求系统的响应,
具体方法请参考DFT一章的内容。
如果信号经过低通滤波器, 则信号的高频分量被滤掉,
时域信号的变化减缓, 在有阶跃处附近产生过渡带。 因此,
当输入矩形序列时, 输出序列的开始和终了都产生了明显
的过渡带, 见第一个实验结果的波形。
第 8 章
上 机 实 验
8.2 实验二: 时域采样与频域采样
8.2.1
1. 时域采样理论与频域采样理论是数字信号处理中的重要
理论。 要求掌握模拟信号采样前后频谱的变化, 以及如何
选择采样频率才能使采样后的信号不丢失信息; 要求掌握频 域采样会引起时域周期化的概念, 以及频率域采样定理及 其对频域采样点数选择的指导作用。
1 X a ( j jn s ) T n


第 8 章
上 机 实 验
(2) 采样频率Ωs必须大于等于模拟信号最高频率的两倍
以上, 才能使采样信号的频谱不产生频谱混叠。
ˆ ( j ) 并不方便, 下面我们导出另 利用计算机计算 X
外一个公式, 以便在计算机上进行实验。 理想采样信号
%内容3:
un=ones(1, 256); n=0: 255; xsin=sin(0.014*n)+sin(0.4*n) ; %产生正弦信号 %产生信号un
第 8 章
上 机 实 验
A=[1, -1.8237, 0.9801];
B=[1/100.49, 0,-1/100.49]; %系统差分方程系数向量B和A y31n=filter(B, A, un); %谐振器对un的响应y31n y32n=filter(B, A, xsin); %谐振器对正弦信号的响应y32n figure(3) subplot(2, 1, 1); y=′y31(n)′; tstem(y31n, y) title(′(h) 谐振器对u(n)的响应y31(n)′) subplot(2, 1, 2); y=′y32(n)′; tstem(y32n, y); title(′(i) 谐振器对正弦信号的响应y32(n)′)

Matlab数字信号处理实验报告

Matlab数字信号处理实验报告

数字信号处理实验报告基础实验篇实验一离散时间系统及离散卷积一、实验原理利用Matlab软件计算出系统函数的零极点分布、单位脉冲响应和系统频率响应等的图像并于笔算结果进行比较,找出异同。

编译合适程序能计算取值范围不同的离散卷积。

二、实验目的(1)熟悉MATLAB软件的使用方法。

(2)熟悉系统函数的零极点分布、单位脉冲响应和系统频率响应等概念。

(3)利用MATLAB绘制系统函数的零极点分布图、系统频率响应和单位脉冲响应。

三、实验步骤(1)自编并调试实验程序,并且,给实验程序加注释;(2)按照实验内容完成笔算结果;(3)验证计算程序的正确性,记录实验结果。

(4)至少要求一个除参考实例以外的实验结果,在实验报告中,要描述清楚实验结果对应的系统,并对实验结果进行解释说明。

四、实验源程序及实验结果a=[1,-1,0.9];b=1;x=chongji(-20,120);n=-20:120;h=filter(b,a,x);figure(1)stem(n,h);title('冲击响应');实验1-2运行结果b=[0.0181,0.0543,0.0543,0.0181];a=[1.000,-1.76,1.1829,-0.2781];w=pi*freqspace(500);H=freqz(b,a,w);MH=abs(H);AH=angle(H);subplot(2,1,1);plot(w/pi,MH);grid;axis([0,1,0,1]);xlabel('w(pi)');ylabel('|H|');title('幅度、相位响应');subplot(2,1,2);plot(w/pi,AH);grid;xlabel('w(pi)');ylabel('angle(H)');实验1-3运行结果n=0:30;%输入x(n)和冲激响应h(n) x=zeros(1,length(n)); h=zeros(1,length(n)); x([find((n>=0)&(n<=4))])=1; h([find((n>=0)&(n<=8))])=0.5;figure(1) subplot(3,1,1); stem(n,x);axis([0,30,0,2]); title('输入序列'); xlabel('n'); ylabel('x(n)');subplot(3,1,2); stem(n,h);axis([0,30,0,2]); title('冲激响应序列'); xlabel('n'); ylabel('h(n)');%输出响应y=conv(x,h); subplot(3,1,3); n=0:length(y)-1; stem(n,y);title('输出响应'); xlabel('n'); ylabel('y(n)');实验二 离散傅立叶变换与快速傅立叶变换一、 实验原理对有限长序列使用离散Fouier 变换(DFT)可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N 时,它的DFT 定义为()()[]()∑==-=1N n nk N W n x n x DFT k X 10-≤≤N k反变换为()()[]()∑==-=-101N n nkN W k X N k X IDFT n x 10-≤≤N n 有限长序列的DFT 是其Z 变换在单位圆上的等距采样,或者说是序列Fourier 变换的等距采样,因此可以用于序列的谱分析。

《数字信号处理》MATLAB编程实验报告

《数字信号处理》MATLAB编程实验报告

《计算机程序设计基础》实验报告
6
《数字信号处理》实验报告
实验项目 实验类别 基础性 MATLAB 编程语言环境使用 实验学时 4
实 验 目 的 及 要 求
(1) 正确进入 MATLAB 工作环境并熟悉其基本结构 (2) 熟悉其基本操作命令,包括变量的设置、help 命令的使用、结果的 保存与调用等 (3) 编写 M 文件并在环境中运行 (4) 信号与系统工具包使用
正弦信号程序代码
n=0:0.001:100; y=2*sin(0.1*n+pi/8); plot(n,y), grid on
《计算机程序设计基础》实验报告 3
计算机科学与工程学院 axis([0,100,-3,3])
正弦信号 x1(n)=2 sin(0.1n+pi/8)的图像为
复指数信号程序源代码 clear,t0=0;tf=5;dt=0.05;t1=1; t=t0:dt:tf; st=length(t); alpha=-0.5; w=10; x=exp((alpha+j*w)*t); subplot(1,2,1),plot(t,real(x)),grid on; subplot(1,2,2),plot(t,imag(x)),grid on;
复指数信号
x2 (n) Ae(机程序设计基础》实验报告
4
计算机科学与工程学院
思考题
1.说明点乘(.*)运算和乘法运算(*) 有何不同 答:每一个符号变量都被认为是一个元素,不论它的表达式多么复杂。因此如果你仅从符号
的视角出发,那所有的乘法都是点乘!就相当于两个数相乘一样,没有点乘还是差乘的分别。 但是如果一个矩阵是由符号变量组成的。 那么点乘和差乘就有分别了。 数值运算和符号运算都 是一样的,都要考虑点乘还是差乘

数字信号处理MATLAB实验报告

数字信号处理MATLAB实验报告
MATLAB提供了求离散时间系统频响特性的函数freqz,调用freqz的格式主要有两种。一种形式为
[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实验

《数字信号处理》Matlab实验

《数字信号处理》Matlab 实验一.离散信号的 FFT 分析1.用Matlab 编程上机练习。

已知:N=2^5。

这里Q=0.9+j0.3。

可以推导出 ,首先根据这个式子计算X(k)的理论值,然后计算输入序列x(n)的32个值,再利用基2时间抽选的FFT 算法,计算x(n)的DFT X(k),与X(k)的理论值比较(要求计算结果最少6位有效数字)。

解:函数代码:>> function xn()>> format long>> q=0.9+0.3*i;>> wn=exp(-2*pi*i/32);>> xk=(1-q^32)./(1-q*wn.^[0:31])>>xn=q.^[0:31]>> xk1=fft(xn,32)>>diff=xk-xk1具体执行情况:>> function xn()format longq=0.9+0.3*i;wn=exp(-2*pi*i/32);xk=(1-q^32)./(1-q*wn.^[0:31])xk =Columns 1 through 20.5698 + 3.3840i 2.8369 + 8.8597iColumns 3 through 49.3189 - 9.8673i 1.2052 - 3.5439iColumns 5 through 61.8846 -2.0941i 0.8299 - 1.2413i11,011)()()(k k 10nk 10-=--===∑∑-=-=N k QW Q QW W n x k X N NnN N n N N n ,0.9214 - 1.0753i 0.3150 - 0.0644i Columns 9 through 100.9240 - 0.8060i 0.4202 - 0.2158i Columns 11 through 120.8513 - 0.6357i 0.5040 - 0.1701i Columns 13 through 140.6217 - 0.6931i 0.2441 - 0.8978i Columns 15 through 160.9454 - 0.2800i 0.7139 - 0.3158i Columns 17 through 180.6723 - 0.6496i 0.0263 + 0.5093i Columns 19 through 200.5671 + 0.6914i 0.3173 + 0.9841i Columns 21 through 220.8929 + 0.7792i 0.4066 + 0.8452i Columns 23 through 240.5847 + 0.9017i 0.9129 + 0.9283i Columns 25 through 260.0573 + 0.5531i 0.4219 + 0.9562i Columns 27 through 280.3298 + 0.3143i 0.4513 + 0.2638i0.7214 + 0.1879i 0.0933 + 1.7793iColumns 31 through 320.9483 + 1.9802i 0.4932 + 2.6347i>> xn=q.^[0:31]xn =Columns 1 through 21.0000 0.0000 + 0.0000i Columns 3 through 40.0000 + 0.0000i 0.0000 + 0.0000iColumns 5 through 60.0000 + 0.0000i -0.0000 + 0.0000iColumns 7 through 8-0.0000 + 0.0000i -0.0000 + 0.0000iColumns 9 through 10-0.0000 + 0.0000i -0.0000 + 0.0000iColumns 11 through 12-0.0000 - 0.0000i -0.0000 - 0.0000iColumns 13 through 14-0.2000 - 0.4000i -0.3600 - 0.5200iColumns 15 through 16-0.9680 - 0.1760i 0.4816 - 0.3488i0.2381 - 0.2695i 0.2951 - 0.1711i Columns 19 through 200.1169 - 0.4655i 0.4449 - 0.9838i Columns 21 through 220.6955 + 0.2480i 0.5516 + 0.4319i Columns 23 through 240.3669 + 0.5542i 0.9639 + 0.2088i Columns 25 through 260.3049 + 0.9771i -0.5187 + 0.4709i Columns 27 through 28-0.6081 + 0.2682i -0.1278 + 0.5589i Columns 29 through 30-0.4827 + 0.0647i -0.6538 + 0.5134i Columns 31 through 32-0.8425 - 0.4341i -0.1280 - 0.1434i >> xk1=fft(xn,32)xk1 =Columns 1 through 20.5698 + 3.3839i 2.8366 + 8.8599i Columns 3 through 49.3182 - 9.8692i 1.2051 - 3.5439i1.8845 -2.0942i 0.8298 - 1.2413i Columns 7 through 80.9213 - 1.0754i 0.3150 - 0.0645i Columns 9 through 100.9240 - 0.8060i 0.4202 - 0.2158i Columns 11 through 120.8514 - 0.6356i 0.5040 - 0.1701i Columns 13 through 140.6217 - 0.6931i 0.2441 - 0.8977i Columns 15 through 160.9454 - 0.2800i 0.7139 - 0.3159i Columns 17 through 180.6723 - 0.6496i 0.0263 + 0.5093i Columns 19 through 200.5671 + 0.6913i 0.3172 + 0.9840i Columns 21 through 220.8929 + 0.7792i 0.4065 + 0.8452i Columns 23 through 240.5846 + 0.9016i 0.9129 + 0.9283i Columns 25 through 260.0572 + 0.5531i 0.4219 + 0.9563i0.3297 + 0.3144i 0.4512 + 0.2638iColumns 29 through 300.7213 + 0.1879i 0.0932 + 1.7793iColumns 31 through 320.9480 + 1.9802i 0.4928 + 2.6347i>> diff=xk-xk1diff =1.0e-013 *Columns 1 through 20.4625 + 0.8501i 0.9504 - 0.4003iColumns 3 through 40.6010 + 0.4028i 0.4752 + 0.7001iColumns 5 through 60.5502 + 0.8501i 0.4625 + 0.8501iColumns 7 through 80.7751 + 0.9250i 0 + 0.3875i Columns 9 through 100.7751 - 0.4625i 0.3126 - 0.4625iColumns 11 through 12-0.4625 - 0.3126i 0.4625 + 0.3875iColumns 13 through 14-0.9250 + 0.6938i 0.3875 - 0.0781iColumns 15 through 160.3875 - 0.6156i 0 + 0.9641iColumns 17 through 180.9250 - 0.7598i -0.4625 - 0.0422iColumns 19 through 200.4625 + 0.1172i 0.4625 + 0.3094iColumns 21 through 220.9250 + 0.4625i 0.9250 + 0.2313iColumns 23 through 240.3875 + 0.1563i 0.3875 - 0.2313iColumns 25 through 260.8501 -0.9250 - 0.4625iColumns 27 through 280.0127 - 0.7751i 0.7001 - 0.9250iColumns 29 through 300.1626 0.7814 - 0.9250iColumns 31 through 320.4816 + 0.9250i 0.7255 - 0.8501i由以上结果可知,由基2时间抽选的FFT算法所得到的DFT结果与利用公式法所得的理论值稍有偏差,但误差较小,从结果可以看出大概在小数点第15位才开始出现误差,故而用计算机FFT处理数据在精度上是可以接受的。

matlab 数字信号处理教程

matlab 数字信号处理教程

数字信号处理实验(基于Matlab)第一章概述信号的定义及表达信号:带有信息的任何物理量本课程讨论的信号:时间函数()t x连续时间信号CT 离散时间信号DT模拟信号到数字信号采样(时间离散化)量化(取值离散化)(P.7 图1.6)数字信号的表达:二进制数组----二进制编码数制转换:10进制---2进制MSB和LSB符号数的表达:符号位(补码)数字信号处理分析方式:理论分析设计采用DT信号进行(本课程内容)实时电路处理采用数字信号进行(数字电路内容)数字信号的特点及应用特点:数字信号与模拟信号的比较抗干扰性强、精度高、容易存储、可灵活处理与计算机系统兼容数字技术的应用领域语音技术(传输、识别、合成)图象处理(静止图象、移动图象、三维动画)地波分析(地震探测、地质探矿)谐振分析(高层建筑、桥梁、机翼等)自动控制实时检测本课程的主要教学安排:主要内容:(50学时)数字信号的频率分析:定义、变换与计算(22学时)频率定义、CTFS与DTFS、CTFT与DTFT、DFT与FFT数字信号的频率处理:滤波器设计(26学时)LTI系统分析理想滤波器与低阶数字滤波;FIR滤波器设计、IIR滤波器设计数字滤波器结构与误差分析教材与参考书:教材:《Digital Signal Processing –spectral computation and filterdesign 》(Third edition)(美) Chi-Tsong Chen电子工业出版社2002版《数字信号处理基础》(加)Joyce Van de Vegte 著侯正信王国安等译电子工业出版社2003版《信号与系统计算机练习—利用MA TLAB》John R.Buck刘树棠译西安交通大学出版社2000版主要工具:MATLAB :信号波形图、频谱计算与分析滤波器设计及系统频率特性分析考核方式:平时作业30%考试(笔试、操作)70%MATLAB的基本应用方法命令窗口(Command window)的使用:输入各类变量或函数名称,按回车即得到当前变量或函数值;输入各类命令,按回车即得到该命令执行结果;若需要输入多行命令或程序,各行间用“;”间隔;M文件的编制与调试执行打开空白文件或已经有的文件,进行程序文件的输入编辑;各行间用“;”间隔;一行中“%”以后内容为注释部分,不影响程序执行;程序编制完毕后,可以按“F5”键保存执行,注意根据屏幕提示建立文件名称;如果出现错误,可在命令窗口看到错误类型及位置,根据错误检测信息对程序进行调试;MATLAB命令及函数信号的表达方式及作图在MA TLAB中,任何变量或函数均表现为向量,任何向量的元素编号均从1开始;序列(向量)表达方式设定坐标向量n 和信号向量x ;x 和n 为长度相同的向量,向量的编号从1开始; n=[-2 :0.1:2]坐标向量可以直接逐点写出:n=[2 3 4 5 6 7];也可以采用起点,终点和步长的形式写出:n=[-2 :0.1:2] ;信号向量可以直接逐点写出:x=[1 2 3 4 3 2];也可以采用与n 有关的函数运算形式写出:例如: x=3*n x=exp(j*(pi/8)*n)作图: 采用stem (n ,x ) 作出离散图形 DT 信号采用plot (n ,x ) 作出连续图形(折线连接) CT 信号作图时主要通过合理设置n 的范围及步长来保证变量坐标的正确性;可以利用title ,axis 等函数为图形设置说明和坐标范围;特别注意:作图时必须保证坐标向量与信号向量长度完全一致;0101:离散序列的作图直接表现离散序列n=[2 3 4 5 6 7];x=[1 2 3 4 3 2];stem(n,x);0102:将图形表现为连续曲线n=[2 3 4 5 6 7];x=[1 2 3 4 3 2];plot(n,x);0203:信号表现为坐标向量的函数n=[2 3 4 5 6 7];x=exp(j*(pi/8)*n);plot(n,x);0204:图形说明和坐标范围的设置n=[-20:0.5:20];x=exp(j*(pi/8)*n);plot(n,x),title('n=[-20:0.5:20];x=exp(j*(pi/8)*n);plot(n,x)');axis([-20,20,-2,2]);第二章 DTFS 和CTFS---周期信号的频率分量信号的时域表达形式:连续时间信号CT 离散时间信号DTDT 信号由CT 信号采样得出CT 信号()t x 采样信号()nT x DT 信号 []n x周期信号:每隔一段时间重复的信号 ()(),...2,1±±=+=k kT t x t x 信号变化快慢的描述:周期T :信号重复的时间间隔频率0ω:单位时间内信号重复的次数频域表达形式人类接受的自然信号主要以频率形式表达:声音 色彩信号分析的重要任务:从时域信号得出频域信号频率的定义----单频率时间信号CT 信号的频率与周期性密切相关标准信号 ()t t x 01s in ω= ()t t x 02c o s ω=()t j t e t x t j 003sin cos 0ωωω+==上述信号均为周期信号,周期为T ;频率均为 0ω;周期与频率的关系 02ωπ=T 0ω 取值范围 ()∞∞-,DT 信号的频率 (仿照CT 信号定义)DT 信号由CT 信号采样得到;周期信号的采样不一定为周期信号;对于DT 信号,频率与周期没有直接对应关系;仿照CT 信号定义基本信号()Tn nT x 01sin ω= ()Tn nT x 02cos ω=()Tn j Tn e nT x Tn j 003sin cos 0ωωω+==上述信号频率均为 )在主值区域内的对应值T d 0(ωω=要点:信号nT j e 0ω的时域性质:非周期性频率性质:多重性频率范围 d ω 取值范围 ]/,/(T T ππ- Nyquist frequency ranged ω与采样频率有关CT 与DT 信号频率之间的关系:P. 29f d 与采样频率有关,位于]5.0,5.0(s s f f -范围内;将高频按周期折合到低频(主值区);例 p.27 2.1 2.2付氏级数及频率分量一般周期时间信号的频率:采用单频率信号表达CTFS (连续时间付氏级数)定义式 (周期信号:周期为P )()∑∞-∞==m t jm m e c t x 0ωP /20πω=()⎰-=P tjm m dt e t x P c 01ω存在条件:()t x 绝对可积,而且在一个周期内间断点和极值点有限;频率分量:CTFS coefficient / frequency component通常为复数: Magnitude phasephase 的范围 ],(ππ-共轭对称性:奇偶性()k FS a t x -**−→←()t x k areal {}k k a a Re : even{}k k a a ∠Im : oddreal and even real and evenreal and odd imaginary and odd周期信号频率分量的计算 (例 P.38)要点:P /20πω=2.4 利用简单分解求m c⎩⎨⎧≠==−→←000(m m A c A m FS 常数)⎩⎨⎧≠==−→←n m nm B c Be m FS t jn 00ω2.5 利用公式求矩形脉冲的m c()P m am c t a t t x m FS 00sin 201ωω=−→←⎩⎨⎧≤=其余2.6 利用公式求冲激串(sampling function )的m c()()Tc kT t t r m FS k 1=−→←-=∑∞-∞=δ周期信号的时间范围:),(∞-∞ 双边信号一般周期信号的频率范围:),(∞-∞若对于所有的0,=>m c M m ,则称为带限信号;频率分量的意义:平均功率: 只与magnitude 有关phase 的影响:对信号波形的影响对视频有影响,对音频没有影响DTFS (离散时间付氏级数)定义式[]∑==N m nT jm md e c n x 0ω []∑=-=Nn nTjm md en x N c 01ω频率分量讨论:md c 的周期性 只有N 个独立系数共轭对称性:奇偶性m 的取值范围:应使 NT m m /20πω=的范围为]/,/(T T ππ-时移的影响: 线性相位变化例 p.48—542.8 利用公式直接计算系数 N=32.9 利用公式直接计算系数 N=42.10 时移的作用时移不影响DTFS 系数的幅度,只在系数中加入线性相位;利用MATLAB计算频率分量DTFS系数的FFT计算重要函数c=(1/N)*fft(x)x=N*ifft(c)应用要点:x和c的序列都为N个元素,下标排列都为[ 1 …..N],分别对应于离散时间n [0….N-1]和离散频率m [0….N-1];DTFS可以利用任何一个周期进行计算;在采用FFT的时候,输入数据必须从n=0到N-1;利用shift()函数(P.56)可以使频率向量排布在对称区间内:N为odd时,下标0在正中,N为even时,下标0偏左;利用m=ceil(-(N-1)/2):ceil((N-1/2)可以得到对应的横坐标;注意:c为周期序列,周期为N;例2.8题的求解N=3;T=0.5; x=[-2 1 –0.6];例2.9题的求解N=4;T=1; x=[ 2.5 -0.4 1 -2];%program 2.2N=3;T=0.5; x=[-2 1 –0.6];D=2*pi/(N*T);X=fft(x/N);m=ceil(-(N-1)/2):ceil((N-1)/2);w=m*D;subplot(2,1,1),stem(w,abs(shift(X))),title('(a)');subplot(2,1,2),stem(w,angle(shift(X))*180/pi),title('(b)');CTFS系数的FFT计算问题:x为连续信号;m取值范围为无限大区间;方案:在一个周期内取N点对x进行采样(离散化);求出DTFS系数---周期序列;取主值范围内的序列即为对应CTFS系数;当x为带限信号时,在满足采样定理条件下可以得出准确的CTFS系数;例2.4题的求解 2.12%program 2.2P=2*pi/0.3;N=11;T=P/N;D=2*pi/P;n=0:N-1;x=-1.2+0.8*sin(0.6*n*T)-1.6*cos(1.5*n*T);X=fft(x/N);m=ceil(-(N-1)/2):ceil((N-1)/2);w=m*D;subplot(2,1,1),stem(w,abs(shift(X))),title('(a)');subplot(2,1,2),stem(w,angle(shift(X))*180/pi),title('(b)');对于带限信号,在满足采样定理的条件下,不同大小的N值(采样数量)得到的幅频分量相同;若采样周期不够小,则将产生频率混叠失真;例2.3 频率混叠的影响例2.5题的求解通过改变采样点数量N,可以比较混叠的影响大小%program 2.4hold on;N=42;P=4;T=P/N;D=2*pi/P;q=floor(1/T);x=[ones(1,q+1) zeros(1,N-2*q-1) ones(1,q)];X=fft(x/N);m=ceil(-(N-1)/2):ceil((N-1)/2);stem(m*D,shift(X),'b','fill');对于在足够逼近条件下,magnetude 可以得到足够良好近似值;(能量逼近);但计算出的phase 不会得出良好近似值(通常不采用);关键:N 的选取(足够大以获得良好近似,足够小以减少运算量)根据设定的精确度,求出最小的N :令N=2n ,选定n 的特定值,再逐1增加;重复计算在Nyquist 范围内的系数差,直到系数差小于设定值为止;例2.6 根据设定最大误差,自动选取最小采样点数量,并求出满足要求的频谱例2.5题的求解% program 2.6a=1;b=100;P=4;D=2*pi/P;beta=1;while b>betaN1=2^a;T1=P/N1;q1=floor(1/T1);x1=[ones(1,q1+1) zeros(1,N1-2*q1-1) ones(1,q1)];X1=fft(x1/N1);N2=2*N1;T2=P/N2;q2=floor(1/T2);x2=[ones(1,q2+1) zeros(1,N2-2*q2-1) ones(1,q2)];X2=fft(x2/N2);m1p=0:N1/2;d=max(abs(abs(X1(m1p+1))-abs(X2(m1p+1))));mm=max(abs(X1(m1p+1)));b=d/mm*100;a=a+1;endN2,bm=-N2/2+1:N2/2;stem(m*D,abs(shift(X2)));对此程序作少数改动可以得到对其他信号的计算:P.73 例2.14平均功率计算CT 信号 ∑∞-∞==m mav c P 2 DT 信号∑-==102N m md av c P例2.15分别采用时域序列和频谱序列求信号平均功率例2.4题的信号功率%program 2.8P=2*pi/0.3;N=11;T=P/N;n=0:N-1;x=-1.2+0.8*sin(0.6*n*T)-1.6*cos(1.5*n*T);P1=sum(x.^2)*T/PX=fft(x/N);P2=sum(abs(X).^2)例2.16采用频谱序列求信号平均功率例2.5题的信号功率%program 2.9N=1024;D=2*pi/4;x=[ones(1,257) zeros(1,511) ones(1,256)];X=fft(x/N);mu=floor(5/D);m=2:mu+1;p=abs(X(1))^2+2*sum(abs(X(m)).^2)第三章 CTFT 和DTFT---一般信号的频谱实际信号都是非周期信号(非双边信号)周期信号对应于离散频率分量(离散频谱)非周期信号对应于连续频谱CTFT 连续时间信号的付氏变换 定义式()()⎰∞∞-=ωωπωd e X t x t j 21()()⎰∞∞--=dt e t x X t j ωω 频谱存在条件:()t x 绝对可积,而且在一个周期内间断点和极值点有限;例 3.1 e at u(t) 的频谱()()01<-−→←=a a j t u e t x FT at ωP.85 图3.1例3.2 w a (t )的频谱:时域窗口函数()()ωωa a t a t t w t x FT a sin 201−→←⎩⎨⎧>≤==P.87 图3.2主瓣:高2a ,宽2π/a旁瓣:宽π/a 零点:n π/a窗口宽度与主瓣/旁瓣宽度成反比;窗口的时移不改变幅频特性,只引入线性相位; 例3.3 模拟理想低通滤波器 :频域窗口函数()()⎩⎨⎧≤=−→←==ωωωωωπωπω其余01sin sin cFTc c c H t c t t t xP.89 图3.3CT 周期信号的频谱()020ωωπδω-−−→←FTt j e步骤:将CT 周期信号先展开为CTFS ,再进行逐项变换; 若干常用信号的频谱(P.91 图3.4) ()ωπδ21−→←FT()()000s in ωωπδωωπδω++--−→←j j t FT()()000c o s ωωπδωωπδω++-−→←FT t()()ωωπδj t u FT1+−→←例 3.4 冲激串的CTFT()()∑∑∞-∞=∞-∞=-−→←=m FTk tjm m Tet r 020ωωδπω频谱的性质()()ωj X t x F−→←连续有界:若()t x 绝对可积,则()ωX 有界并连续;奇偶性:()()ωj X t xF -−→←**P.94 表3.1时间实函数----幅频偶、相频奇 时间实偶----频谱实偶 时间实奇----频谱虚奇 时移与频移:()()ωωj X e t t x t j F00-−→←-()()()00ωωω-−→←j X t x e Ft j时移引入线性相位,频移对应复指数调制 时间尺度变换:()⎪⎭⎫⎝⎛−→←a j X a at x Fω1()()ωj X t x F-−→←-时间压缩对应频谱扩展Parseval’s relation 能量的频率分布()()ωωπd j X dt t x E 2221⎰⎰∞+∞-∞+∞-==能量只与幅频特性有关,时移不影响信号能量分布周期信号与非周期信号的能量对比 周期信号能量为无限大,平均功率为∑∞-∞==m mavc P 2,非零功率只存在于离散频率点;绝对可积的非周期信号能量为()()ωωπd j X dt t x E2221⎰⎰∞+∞-∞+∞-==,在任何特定频率点能量为零,能量分布于频率区间上;连续时间信号截断对于频谱的影响只有极少数信号可以求出频谱的解析表达式; 绝大多数实际信号只能采用数值方式求解频谱;对无限长时间连续信号,在实际计算时必须考虑截断并离散化;时域截断模型:以窗口函数乘以时间函数 ()()t w t x a ⋅时域乘积对应于频域卷积:()()()()⎰∞∞--=*ϖϖωϖπωωd X W W X a a 21其中 ()ωωωa W asin 2=单频率信号的截断效果 (P.104 图3.8)使单频率展宽,出现主瓣(高L=2a 、宽4π/L )和旁瓣(高<0.2L 、宽2π/L ); 对于有限带宽信号,截断导致带外泄露(能量)和纹波现象; L 越小,上述效应越显著;对于连续信号,增大L 可以将上述效应削弱到可以忽略的程度; 例3.5()()t u e t x t 1.0-=的频谱:采用不同宽度的窗口截断;(P.104 图3.8)Gibbs 现象用付氏变换表达时间函数时,当频谱信号含有不连续点时,频谱的纹波将会变窄并靠近该点,但纹波不会随L 的无限增大而消失,而是趋于一个常量(宽度无限小,高度约为不连续变化量的9%);(P.105 图3.9)将频谱变换为时间函数时存在相同的现象; 采用矩形窗口截断信号必然出现Gibbs 现象。

数字信号处理(第2版)教学课件第8章 MATLAB仿真实验

数字信号处理(第2版)教学课件第8章 MATLAB仿真实验
系统的时域特性是指系统的线性移不变性质、因果性 和稳定性。重点分析实验系统的稳定性,包括观察系统的 暂态响应和稳定响应。
系统的稳定性是指对任意有界的输入信号,系统都能 得到有界的系统响应,或者系统的单位脉冲响应满足绝对 可和的条件。系统的稳定性由其差分方程的系数决定。
实际中检查系统是否稳定,不可能检查系统对所有有界 的输入信号、输出是否都是有界输出,或者检查系统的单位 脉冲响应满足绝对可和的条件。可行的方法是在系统的输入 端加入单位阶跃序列,如果系统的输出趋近一个常数(包括 零),就可以断定系统是稳定的。系统的稳态输出是指当n→ ∞时系统的输出。如果系统稳定,信号加入系统后,系统输出 的开始一段称为暂态效应,随着n的加大,幅度趋于稳定,达 到稳态输出。
(2)频域采样理论的验证。 给定长度为26的三角波序列x(n) 编写程序,分别对频谱函数 X (e j ) FT[x(n)] 在区间 [0, 2π] 上等间隔采样32点和16点,得到 X32 (k) 和 X16 (k) ,再分别对 X32 (k)
和 ①X16分(k)别进画行出32X点(ej和 )、16X点32 (IkF)F和T,X1得6 (k到) 的x幅32 (度n)谱和。x16 (n) 。要求:
4. 参考程序
(1)内容1参考程序,实验结果。 (2)内容2参考程序,实验结果。 (3)内容3参考程序,实验结果。
5.实验结果
图8-1 调用filter解差分方程仿真结果
5.实验结果
图8-2 稳定性分析方面的仿真结果
5.实验结果
图8-3 稳定性分析仿真结果
实验二 时域采样与频域采样
1. 实验目的
y(n) 0.5y(n 1) 0.25y(n 2) x(n) 2x(n 1) x(n 3)

数字信号处理实验报告MATLAB

数字信号处理实验报告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版)上机实验操作

数字信号处理(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

数字信号处理实验报告MATLAB

实验2 离散时间信号的频谱分析1、实验内容一、编写子函数计算长度为N 的序列x(n) ( 0≤n ≤ N-1)的离散时间傅里叶变换,将频率均匀离散化, 一个周期内有M 个点。

要求画出虚部、实部、幅度、相位,并标注坐标轴。

二、对矩形序列x(n)=RN(n)1. 用公式表示x(n)的频谱,求出其幅度谱和相位谱;2. 利用编写的子函数,计算并画出x(n)的频谱1)固定M ,改变N ,观察N 的取值对频谱的最大值、过零点、第一旁瓣幅度与最大值的比值以及相位谱的影响;2)固定N ,改变M ,观察M 的取值对幅度谱和相位谱的影响。

如: M=4,26,100N=4,26,100三、利用子函数,画出信号x(n)=sin(pi*n/5)和 x(n)=cos(pi*n/4)+cos(pi*n/8) ( 0≤n ≤ N -1)的幅度谱和相位谱。

N 分别取为8,16,20,64,75,128,M=256。

观察N 取不同值时信号频谱的相同和不同之处,为什么会有这样的结果。

2、编程原理、思路和公式(1)、给定长度为N 的序列x(n)的离散时间傅里叶变换(DTFT )的公式为 10()()N jwjwn n X e x n e --==∙∑ 1()()2j w j w n x n X e e d w πππ-=⎰。

可以看出x(n)的DTFT 仍然是一个连续函数,所以需要将数字角频域w 离散化,设一个频率周期内离散点有M 个,则第k 个点所代表的数字角频率2w k M π=。

这样x(n)的DTFT 变成:2210()()()N j k j nk jw M M n X e X e x n eππ--===∙∑ 01k M ≤≤-,(2)、因为0≤.n ≤.N-1, 01k M ≤≤- 设置两层for 循环,用sum 表示累加求和的值,即可实现2210()()()N j k j nk jw MM n X e X e x n eππ--===∙∑(3)对矩形序列x(n)=R4(n),首先固定M 不变,改变N 的取值。

数字信号处理课程实验报告

数字信号处理课程实验报告

数字信号处理课程实验报告课题名称:IIR滤波器相位校正实验一、实验内容与分析1、实验目的和内容1)利用MATLAB设计一个IIR滤波器;2)结合课本关于全通滤波器特性知识(课本p128),在IIR滤波器后级联一个全通相位滤波器进行相位校正,使此滤波器最终实现线性相位特性;3)分别使用相位校正前后两滤波器实现对某一信号的处理;4)画出IIR滤波器、全通滤波器、相位校正后滤波器的幅度频率特性曲线、相位频率特性曲线,信号时域波形、信号的幅度频率特性曲线、相位频率特性曲线;5)详述实验设计原理,分析相位校正前后两类滤波器对信号处理后的区别。

2、实验的分析1)、IIR滤波器的设计通过对实验内容的理解,我们首先需要设计一个IIR滤波器,对课本第六章的学习我们知道IIR数字滤波器有两种设计方法:间接设计法和直接设计法。

间接设计法中有巴特沃斯滤波器,切比雪夫I型、II型滤波器,椭圆滤波器和贝塞尔滤波器五种。

我们选择设计切比雪夫II型低通滤波器,其中的技术指标为:通带边界频率fp=1000Hz,阻带边界频率fs=2000 Hz,阻带最小衰减As=40 dB,通带最大衰减Ap=1 dB。

2)全通滤波器的设计全通滤波器的幅度特性是在整个频带上均等于常数,或者等于1.信号通过全通滤波器后,其输出的幅度特性保持不变,仅相位发生变化。

由于IIR滤波器后需要级联一个全通相位滤波器,使整个系统实现线性相位特性,为了求解全通滤波器的参数,我们先假设整个系统具有线性相位特性,再根据已经设计好了的切比雪夫II 型滤波器的系统参数,求解全通滤波器的参数。

二、实验的过程1、切比雪夫II型滤波器的设计过程在确定了滤波器的参数之后,我们运用cheb2ord函数计算模拟低通滤波器的最小阶数;然后用cheby2计算滤波器传输函数的系数。

然后运用脉冲响应不变法将模拟低通滤波器转换成数字滤波器。

这样我们就设计出了满足给定参数的切比雪夫II型滤波器。

数字信号处理MATLAB实验代码&图

数字信号处理MATLAB实验代码&图

二.1clear all;close all;b=[2,3];a=[1,0.4,1];[h,w]=freqz(b,a,512);subplot(211);plot(w,abs(h));xlabel('频率/rad');ylabel('幅度');title('幅频特性图');subplot(212);plot(w,angle(h));xlabel('频率/rad');ylabel('相位');title('相频特性图');2clear all;close all;b=[1,2,0];a=[1,-0.3,0.54,-0.072]; [h,w]=freqz(b,a);subplot(211);plot(w/pi,abs(h));axis([0,1,1.1*min(abs(h)) ,1.1*max(abs(h))]);xlabel('频率');ylabel('幅度');title('幅频特性(V)')subplot(212),plot(w/pi,angle(h));axis([0,1,1.1*min(angle(h) ),1.1*max(angle(h))]); xlabel('频率');ylabel('相位');title('相频特性')频率/rad幅度幅频特性图频率/rad 相位相频特性图频率幅度幅频特性(V)频率相位相频特性3.clear all; close all;b=[0.187632,0,-0.241242,0,0.241242,0,-0.187632];a=[1,0,0.602012,0,0.495684,0,0.0359244];[h,w]=freqz(b,a);subplot(221),plot(w/pi,abs(h) );axis([0,1,1.1*min(abs(h)),1.1*max(abs(h))]);xlabel('频率');ylabel('幅度');title('幅频响应')subplot(222),plot(w/pi,angle( h));axis([0,1,1.1*min(angle(h)),1.1*max(angle(h))]);xlabel('频率');ylabel('相位');title('相频特性')三.1clear all;close all;z1=[0.3]';p1=[-0.5+0.7j,-0.5-0.7j]';k=1;[b1,a1]=zp2tf(z1,p1,k);subplot(3,2,1),zplane(z1,p1);title('极点在单位圆内 ');subplot(3,2,2),impz(b1,a1,20);z2=[0.3]';p2=[-0.6+0.8j,-0.6-0.8j]';[b2,a2]=zp2tf(z2,p2,k);subplot(3,2,3),zplane(z2,p2);title('极点在单位圆上');subplot(3,2,4),impz(b2,a2,20);z3=[0.3]';p3=[-1+j,-1-j]';[b3,a3]=zp2tf(z3,p3,k);subplot(3,2,5),zplane(z3,p3); title('极点在单位圆外');subplot(3,2,6),impz(b3,a3,20);频率幅度幅频响应-202Real PartImaginaryPart极点在单位圆内051015n (samples)AmplitudeImpulse Response Real PartImaginaryPart极点在单位圆上n (samples)AmplitudeImpulse Response-202Real PartImaginaryPart极点在单位圆外051015n (samples)AmplitudeImpulse Responseclear all;close all;z1=[1,-3]';p1=[2,-4]';k=5;[b1,a1]=zp2tf(z1,p1,k); subplot(211),zplane(z1,p1 );title('零极点分布');subplot(212),impz(b1,a1,2 0);四.1clear all;`close all;xn=[7,6,5,4,3,2];N=length(xn);n=0:N-1;k=0:N-1;Xk=xn*exp(-j*2*pi/N).^(n'*k );x=(Xk*exp(j*2*pi/N).^(n'*k) )/N;subplot(221),stem(n,xn); title('x(n)');subplot(222),stem(n,abs(x)) ;title('IDFT abs(X(k))'); subplot(223),stem(k,abs(Xk) );title('abs(X(k))');subplot(224),stem(k,angle( Xk));title('arg(X(k))');2.clear all;close all;xn=[7,6,5,4,3,2];N=length(xn);m=0:N-1;n=0:3*N-1;k=0:3*N-1;x1=xn(mod(n,N)+1);Xk=x1*exp(-j*2*pi/N).^(n'* k);subplot(221),stem(m,xn);Real PartImaginaryPart零极点分布11n (samples)AmplitudeImpulse Responsex(n)IDFT abs(X(k))abs(X(k))arg(X(k))x(n)IDFT abs(X(k))abs(X(k))angle(X(k))title('x(n)');subplot(222),stem(n,x1);title('IDFT abs(X(k))');subplot(223),stem(k,abs(Xk));title('abs(X(k))');subplot(224),stem(k,angle(Xk));title('angle(X(k))');3.clear all;close all;xn=[7,6,5,4,3,2];N=length(xn);n=0:N-1;w=linspace(-2*pi,2*pi,500);x=xn*exp(-j*n'*w);subplot(311),stem(n,xn,'k');title('x(n)');subplot(312),plot(w,abs(x),'k');axis([-2*pi,2*pi,1.1*min(abs(x)),1.1*max(abs(x))]);title('幅度谱');subplot(313),plot(w,angle(x),'k');axis([-2*pi,2*pi,1.1*min(angle(x)),1.1*max(angle(x))]); title('相位谱');x(n)幅度谱相位谱。

数字信号处理实验

数字信号处理实验

实验二 IIR、FIR数字滤波器设计
三、实验内容
1. 产生三频率叠加的信号。 2. 显示其频谱分布。 3. 设计一低通IIR滤波器,滤除最高频率信号。 4. 设计一低通FIR滤波器, 滤除两个高频信号。
实验二 I个频率分量,三个信号的频率分 别为100Hz,1400Hz,3000Hz,功率大小一样,绘制其时域 及频谱; ②设计一IIR滤波器,滤除1400Hz和3000Hz,IIR滤波器要求 幅度特性图在通带和阻带均为单调下降,阻带衰减大于40dB ,绘制滤波器及滤波后的时域及频谱; ③设计一FIR滤波器,滤除3000Hz的信号,FIR滤波器(任选 一个要求) i.带内波动小于1dB,带外衰减大于47dB
二、学时安排
2学时
实验一模拟信号采样与重构及频谱分析FFT
三、实验内容
1 给定一连续信号,如正弦、矩形等信号,采用 数字化方式进行近似表示,并描述其频谱,绘 制对应的时域及频谱图。
2 对该连续信号,按不同采样频率进行采样,绘 制对应的时域离散信号的时域及频域图,分析 不同采样率对频谱的影响。
3 对按不同采样率离散后的信号分别采用理想低 通或零阶保持器进行恢复,比较恢复效果。
ii. 过渡带小于4 /8
绘制FIR滤波器及滤波后的时域及频谱;
实验报告填写要求
1. 按照电子工程系实验报告格式要求进行填写;
2. 附上实验的MATLAB原程序;
实验结束时
实验设计完成后,请在场指导老师进行检查程 序及结果,得到老师允许后方可离开。 实验指导老师为:
数字信号处理实验
实验一模拟信号采样与重构及频谱分析FFT
一、实验目的
本实验重在使学生通过MATLAB的编程仿真及绘图,对模 拟信号按照采样定理的要求进行采样,图形表示,再对离散信 号进行无失真重构,对采样前后的信号进行频谱分析,使学生 能够利用计算机完成对信号的上述处理与变换功能,分析频谱 现象。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
点增益(zpk)模型。 调用格式: [z,p,k]=tf2zp(num,den);输入系统传递函数模
型中分子(num)、分母(den)多项式的系数向量,求系统函数 的零-极点增益模型中的零点向量z、极点向量p和增益系数k。 其中z、p、k为列向量。
4
2.zp2tf 功能:将系统函数的零-极点增益(zpk)模型转换为系统 传递函数(tf)模型。 调用格式: [num,den]=zp2tf(z,p,k);输入零-极点增益(zpk) 模型零点向量z、极点向量p和增益系数k,求系统传递函数 (tf)模型中分子(num)、分母(den)多项式的系数向量。
5
3.tf2sos 功能:将系统传递函数(tf)模型转换为系统函数的二次 分式(sos)模型。 调用格式: [sos,g]=tf2sos(num,den);输入系统传递函数模 型中分子(num)、分母(den)多项式的系数向量,求系统函数 的二次分式模型的系数矩阵sos、增益系数g。
6
4.sos2tf 功能:将系统函数的二次分式(sos)模型转换为系统传递 函数(tf)模型。 调用格式: [num,den]=sos2tf(sos,g);输入系统函数的二次 分式模型的系数矩阵sos、增益系数g(默认值为1),求系统传 递函数模型中分子(num)、分母(den)多项式的系数向量。
H (z) 1.9 (z 1) (z 0.1579 0.9875i) (z 5.0198) (z 0.8907)
(z 0.1579 0.9875i) (z 0.0895)
30
5.系统传递函数(tf)模型与极点留数(rpk)模型间的转换 在实验7中,我们用部分分式法求系统函数的z反变换, 实际上也就是利用residuez子函数,将系统的传递函数(tf) 模型转换为极点留数(rpk)模型。反之,利用residuez子函数, 还能将系统的极点留数(rpk)模型转换为传递函数(tf)模型。
0.5000
0;
1.0000 -1.4000 1.0000 1.0000
0.9000
0.8000];
g=4;
[num,den]=sos2tf(sos,g)
24 程序运行结果如下: num=4.0000 -1.6000 -1.6000 4.0000 den= 1.0000 0.4000 0.3500 -0.4000 根据程序运行结果,可求出系统传递函数为
(8-3)
14
(3)极点留数(rpk)模型。当式(8-3)模型中的极点均为单 极点时,可以将式(8-3)分解为部分分式,表示为系统的极点 留数模型:
H(z)
r1 1 p1z1
r2 1 p2z1
rN 1 pNz1
k0
(8-4)
15
(4)二次分式(sos)模型。离散LSI系统函数经常包含复数 的零、极点,把每一对共轭零点或共轭极点多项式合并,就 可以得到二次分式模型:
num=[1.9,2.5,2.5,1.9];
den=[1,-6,5,-0.4];
[sos,g]=tf2sos(num,den)
22
程序运行结果如下:
sos=
1.0000 1.0000 0 1.0000 0.3158 1.0000 1.0000 -
0.9802 0.0797
g=
1.9000
根据程序运行结果,可求出二次分式为
H(z) 5 (z1)(z 3) (z 2)(z 4)
求系统的传递函数(tf)模型。 解 MATLAB程序如下: z=[1,-3]¢; p=[2,-4]¢; k=5; [num,den]=zp2tf(z,p,k)
20
程序运行结果如下:
num=
5
10 -15
den=
1
2 -8
根据程序运行结果,可知系统的传递函数为
Y(z)
bmzm
m0
X(z)
N
a k z k
k0
b0 b1z1 b2z2 bMzM 1 a1z1 a 2z2 a NzN
(8-2)
13
(2)零-极点增益(zpk)模型。对式(8-2)表示的系统传递 函数进行因式分解,可以得到系统传递函数的零-极点增益模 型:
H(z)
k
(z q1)(z q2 )(z qM ) (z p1)(z p2 )(z pN )
7
5.sos2zp 功能:将系统函数的二次分式(sos)模型转换为系统函数 的零-极点增益(zpk)模型。 调用格式: [z,p,k]=sos2zp(sos,g);输入系统函数的二次分 式模型的系数矩阵sos、增益系数g(默认值为1),求系统函数 的零-极点增益模型中的零点向量z、极点向量p k。
35
6.系统传递函数(tf)模型与状态变量(ss)模型间的转换
例8-9
将系统传递函数
H
(
z
)

1.9 2.5z 1 2.5 1 6z 1 5z 2
z 2 1.9z 0.4z 3
3
转换为状态变量模型。
解 MATLAB程序如下:
num=[1.9,2.5,2.5,1.9];
den=[1,-6,5,-0.4];
H(z)
g
l k1
b0k b1k z1 b2k z2 1 a1k z1 a 2k z2
(8-5)
(5)状态变量(ss)模型。系统的状态方程可表示为:
W(n1) AW(n) BX(n) Y(n) CW(n) DX(n)
(8-6)
16
表示为传递函数形式:
H(z) Y(z) C W(z) D X(z) X(z)
5 10 z115 z2 H(z) 1 2 z1 8 z2
21 3.系统传递函数(tf)模型与二次分式(sos)模型间的转换
例8-3 将系统传递函数 H( z ) 1.9 2.5z 1 2.5z 2 1.9z 3
转换为二次分式模型。
1 6z 1 5z 2 0.4z 3
解 MATLAB程序如下:
(1 z1)
(1 0.3158 z1 z2 )
H(z) 1.9 (1 5.0198 z1) (1 0.9802 z1 0.0797 z2 )
23 例8-4 已知系统的二次分式模型为
试将其转换为系统传递函数(tf)模型。
解 MATLAB程序如下:
sos=[1.0000 1.0000
0 1.0000 -
(1 z1)
(1 0.3158 z1 z2 )
H(z) 1.9 (1 5.0198 z1) (1 0.9802 z1 0.0797 z2 )
求系统的零-极点增益模型。
解 MATLAB程序如下:
sos =[1.0000 1.0000
0 1.0000

5.0198
0;
1.0000 0.3158 1.0000 1.0000 -
程表示:
N
M
y(n) ak y(n k) bmx(n m)
k1
m0
(8-1)
这是系统在时间域的表达式,如果在变换域对系统进
行描述,则可以采用以下几种模型。
12
(1)系统传递函数(tf)模型。对式(8-1)所示的线性常系 数差分方程两边进行z变换,可以得到离散LSI系统的系统传 递函数:
M
H (z)
10
8.tf2ss 功能:将系统传递函数(tf)模型转换为系统状态空间(ss) 模型。 调用格式: [A,B,C,D]=tf2ss(num,den);将系统传递函数 (tf)模型转换为系统状态空间(ss)模型。num按s降幂排列顺 序输入分子系数,den按s降幂排列顺序输入分母系数。
11
三、实验原理 1.离散系统的基本描述模型 一个线性移不变(LSI)离散系统可以用线性常系数差分方
[A,B,C,D]=tf2ss(num,den)
36
程序运行结果如下:
A=6.0000 -5.0000 0.4000
1.0000
0
0
0
1.0000
0
B=1
0
0
C=13.9000-7.00002.6600
D=1.9000
将以上数据代入式(8-6),可得到系统的状态方程。
同理,如果知道式(8-6),则可以由状态变量模型转变为
10 -10 p=
2 1 k=0 根据程序运行结果,极点留数(rpk)模型为
10
10
H(z) 1 2 z1 1 z1
33 例8-8 已知离散时间系统的极点留数(rpk)模型为
2
1
1
H(z) 1 z1 1 0.5z1 1 0.5z1
求系统的传递函数(tf)模型。
解 MATLAB程序如下:
系统传递函数形式。
37
四、实验任务 (1)阅读并输入实验原理中介绍的例题程序,理解每一条
语句的含义,观察程序输出数据及公式。
解 MATLAB程序如下: num=[0,10,0]; den=[1,-3,2]; [z,p,k]=tf2zp(num,den)
18
程序运行结果如下: z=
0 p=
2 1 k= 10 根据程序运行结果,零-极点增益模型的系统函数为
H(z) 10( z )( z ) z 2 z1
19
例8-2 已知离散时间系统的零-极点增益模型
C(zI A)1 B D
(8-7) 在MATLAB中提供了上述各种模型之间的转换函数。这 些函数为系统特性的分析提供了有效的手段。
17
2.系统传递函数(tf)模型与零-极点增益(zpk)模型间的 转换
例8-1 已知离散时间系统的传递函数
10 z1 H(z) 1 3z1 2 z2
求系统的零点向量z、极点向量p和增益系数k,并列出系 统函数的零-极点增益模型。
4 1.6 z11.6 z2 4 z3 H(z)
相关文档
最新文档