实验三 离散时间系统的时域分析(附思考题程序)
离散时间信号的时域分析实验报告

离散时间信号的时域分析实验报告实验报告:离散时间信号的时域分析一、实验目的本实验旨在通过MATLAB软件,对离散时间信号进行时域分析,包括信号的显示、基本运算(如加法、减法、乘法、反转等)、以及频域变换(如傅里叶变换)等,以加深对离散时间信号处理的基本概念和原理的理解。
二、实验原理离散时间信号是在时间轴上离散分布的信号,其数学表示为离散时间函数。
与连续时间信号不同,离散时间信号只能在特定的时间点取值。
离散时间信号的时域分析是研究信号的基本属性,包括幅度、时间、频率等。
通过时域分析,我们可以对信号进行各种基本运算和变换,以提取有用的信息。
三、实验步骤1.信号生成:首先,我们使用MATLAB生成两组简单的离散时间信号,一组为正弦波,另一组为方波。
我们将这些信号存储在数组中,以便后续分析和显示。
2.信号显示:利用MATLAB的绘图功能,将生成的信号在时域中显示出来。
这样,我们可以直观地观察信号的基本属性,包括幅度和时间关系。
3.基本运算:对生成的信号进行基本运算,包括加法、减法、乘法、反转等。
将这些运算的结果存储在新的数组中,并绘制出运算后的信号波形。
4.傅里叶变换:使用MATLAB的FFT(快速傅里叶变换)函数,将信号从时域变换到频域。
我们可以得到信号的频谱,进而分析信号的频率属性。
5.结果分析:对上述步骤得到的结果进行分析,包括比较基本运算前后的信号波形变化,以及傅里叶变换前后的频谱差异等。
四、实验结果1.信号显示:通过绘制图形,我们观察到正弦波和方波在时域中的波形特点。
正弦波呈现周期性的波形,方波则呈现明显的阶跃特性。
2.基本运算:通过对比基本运算前后的信号波形图,我们可以观察到信号经过加法、减法、乘法、反转等运算后,其波形发生相应的变化。
例如,两个信号相加后,其幅度和时间与原信号不同。
反转信号则使得波形在时间轴上反向。
3.傅里叶变换:通过FFT变换,我们将时域中的正弦波和方波转换到频域。
正弦波的频谱显示其频率为单一的直流分量,方波的频谱则显示其主要频率分量是直流分量和若干奇数倍的谐波分量。
离散时间系统时域特性分析实验总结报告(信号及系统)

南昌大学实验报告(信号与系统)学生姓名:学号:专业班级:通信实验类型:□验证□综合□设计□创新实验日期:2012.5.17 实验成绩:离散时间系统的时域特性分析一、实验项目名称: 离散时间系统的时域特性分析二、实验目的:线性时不变离散时间系统在时域中可以通过常系数线性差分方程来描述,冲激响应序列可以刻画其时域特性。
本实验通过使用MATLAB函数研究离散时间系统的时域特性,以加深对离散时间系统的差分方程、冲激响应系统的线性和时不变特性的理解。
三、实验基本原理一个离散时间系统是将输入序列变换成输出序列的一种运算。
若以T[·]表示这种运算,则一个离散时间系统可由图1-1来表示,即x(n) T[·] y(n)图1-1离散时间系统离散时间系统最重要的,最常用的是“线性时不变系统”。
1.线性系统4. 实验用matlab语言工具函数简介(1)产生N个元素矢量函数x=zeros(1,N)(2)计算系统的单位冲激响应h(n)的两种函数y=impz(b,a,N)功能:计算系统的激励响应序列的前N个取样点y=filter(b,a,x)功能:系统对输入进行滤波,如果输入为单位冲激序列δ(n),则输出y即为系统的单位冲激响应h(n).四、实验说明例1.1产生一个N=100的单位冲激序列。
>> N=100;>> u=[1 zeros(1,N-1)];>> Stem(0:N-1,u)>>例1.2产生一个长度为N=-100的单位阶跃响应>> N=100;>> s=[ones(1,N)];>> Stem(0:99,s);>> axis([0 100 0 2])例1.3产生一个正弦序列>> n=0:40;>> f=0.1;>> phase=0;>> A=1.5;>> arg=2*pi*f*n-phase; >> x=A*cos(arg);>> stem(n,x);>> axis([0 40 -2 2]); >> grid例1.4产生一个复指数序列>> c=-(1/12)+(pi/6)*i; >> k=2;>> n=0:40;>> x=k*exp(c*n);>> subplot(2,1,1);>> stem(n,imag(x)); >> subplot(2,1,2);>> stem(n,imag(x)); >> xlabel('时间序列n'); >> ylabel('信号幅度'); >> title('虚部');例1.5假设系统为y(n)-0.4y(n-1)+0.75y(n-2)=2.2403x(n)+2.4908x(n-1)+2.2403x(n-2),输入三个不同的序列x1(n),x2(n)和x9n)=ax1(n)+bx2(n),求y1(n),y2(n)和y(n),并判断此系统是否为线性系统。
离散时间系统的时域分析

称为混叠。 常称作折叠频率。 2
信号频率
fa nfs fm
fa fs / 2
假频
Fδ(jω)
抽样频率
ω Ω-ωm ωm Ω
例如:当抽样率为5kHz对3kHz的余弦信号 抽样,然后用截止频率为2.5kHz的低通滤波 器进行滤波,输出的频谱只包含2kHz的频率, 这是原信号中所没有的。
对一个低通滤波器的冲激响应进行抽样,抽 样后低频通带将在整个频率轴上周期的重复出现, 这种现象称为“伪门”。在设计数字滤波器时要 适当选择抽样率,使得伪门在干扰频率之外。
H(jω)
ω 0 数字滤波器的伪门
例1:对于频率为150Hz的正弦时间序列,分别以4ms 和8ms采样结果会如何?
100HZ 25HZ
在实际工作中应用抽样定理时,还应考虑下 面两个实际问题:
1、在理论上讲,按照奈奎斯特抽样率抽样, 通过理想低通滤波器以后,就可以恢复原信 号。但理想低通滤波器在物理上是不可实现 的,实际滤波器都存在一个过渡带,为了保 证在滤波器过渡带的频率范围内信号的频谱 为零,必须选择高于2fm的抽样率。
u (n) 0, n 0
...
n -1 0 1 2 3
(n) u(n) u(n) u(n 1)
u(n) (n m) (n) (n 1) (n 2) m0
3.矩形序列 R N (n )
1, R N (n) 0,
0 n N 1 其他n
RN (n) u(n) u(n N )
第五章 离散时间系统 的时域分析
§5.1 离散信号与抽样定理
一、离散信号及其表示
1、离散时间信号是指只在一系列离散的时刻 tk (k = 0,1,2,…)时,信号才有确定值,在其它时 刻,未定义; 2、离散时间信号是离散时间变量 tk 的函数; 3、抽样间隔可以是均匀的,也可以非均匀。
离散时间系统的时域特性分析实验报告

信号、系统与信号处理实验报告实验一、离散时间系统的时域特性分析姓名:学号:班级:专业:一.实验目的线性时不变(LTI)离散时间系统在时域中可以通过常系数线性差分方程来描述,冲激响应列可以刻画时域特性。
本次实验通过使用MATLAB函数研究离散时间系统的时域特性,以加深对离散时间系统的差分方程、冲激响应和系统的线性和时不变性的理解。
二.基本原理一个离散时间系统是将输入序列变换成输出序列的一种运算。
离散时间系统中最重要、最常用的是“线性时不变系统”。
1.线性系统满足叠加原理的系统称为线性系统,即若某一输入是由N个信号的加权和组成的,则输出就是系统对这几个信号中每一个输入的响应的加权和。
即那么当且仅当系统同时满足和时,系统是线性的。
在证明一个系统是线性系统时,必须证明此系统同时满足可加性和比例性,而且信号以及任何比例系数都可以是复数。
2.时不变系统系统的运算关系在整个运算过程中不随时间(也即序列的先后)而变化,这种系统称为时不变系统(或称移不变系统)。
若输入的输出为,则将输入序列移动任意位后,其输出序列除了跟着位移外,数值应该保持不变,即则满足以上关系的系统称为时不变系统。
3.常系数线性差分方程线性时不变离散系统的输入、输出关系可用以下常系数线性差分方程描述:当输入为单位冲激序列时,输出即为系统的单位冲激响应。
当时,是有限长度的,称系统为有限长单位冲激响应(FIR)系统;反之,则称系统为无限长单位冲激响应(IIR)系统。
三.实验内容及实验结果1.实验内容考虑如下差分方程描述的两个离散时间系统:系统1:系统2:输入:(1)编程求上述两个系统的输出,并画出系统的输入与输出波形。
(2)编程求上述两个系统的冲激响应序列,并画出波形。
(3)若系统的初始状态为零,判断系统2是否为时不变的?是否为线性的?2.实验结果(1)编程求上述两个系统的输出和冲激响应序列,并画出系统的输入、输出与冲激响应波形。
clf;n=0:300;x=cos((20*pi*n)/256)+cos((200*pi*n)/256);num1=[0.5 0.27 0.77];den1=[1];num2=[0.45 0.5 0.45];den2=[1 -0.53 0.46];y1=filter(num1,den1,x);y2=filter(num2,den2,x);subplot(3,1,1);stem(n,x);xlabel('时间信号');ylabel('信号幅度');title('输入信号');subplot(3,1,2);stem(y1);xlabel('时间信号n');ylabel('信号幅度');title('输出信号');subplot(3,1,3);stem(y2);xlabel('时间序号n ');ylabel('信号幅度');title('冲激响应序列');(2)N=40;num1=[0.5 0.27 0.77];den1=[1];num2=[0.45 0.5 0.45];den2=[1 -0.53 0.46];y1=impz(num1,den1,N);y2=impz(num2,den2,N);subplot(2,1,1);stem(y1);xlabel('时间信号n ');ylabel('信号幅度');title('³冲激响应');subplot(2,1,2);stem(y2);xlabel('时间信号n ');ylabel('信号幅度');title('³冲激响应');1.应用叠加原理验证系统2是否为线性系统:clear allclcn = 0 : 1 : 299;x1 = cos(20 * pi * n / 256);x2 = cos(200 * pi * n / 256);x = x1 + x2;num = [0.45 0.5 0.45];den = [1 -0.53 0.46];y1 = filter(num, den, x1);y2 = filter(num, den, x2);y= filter(num, den, x);yt = y1 + y2;figuresubplot(2, 1, 1);stem(n, y, 'g');xlabel('时间信号n');ylabel('信号幅度');axis([0 100 -2 2]);grid;subplot(2, 1, 2);stem(n, yt, 'r');xlabel('时间信号n');ylabel('信号幅度');axis([0 100 -2 2]);grid;2.应用时延差值来判断系统2是否为时不变系统。
实验四-离散时间系统的频域分析(附思考题程序)

实验四 离散时间系统的频域分析1.实验目的(1)理解和加深傅里叶变换的概念及其性质。
(2)离散时间傅里叶变换(DTFT)的计算和基本性质。
(3)离散傅里叶变换(DFT)的计算和基本性质。
2.实验原理对离散时间信号进行频域分析, 首先要对其进行傅里叶变换, 通过得到的频谱函数进行分析。
离散时间傅里叶变换(DTFT, Discrete-time Fourier Transform)是傅立叶变换的一种。
它将以离散时间nT (其中 , T 为采样间隔)作为变量的函数(离散时间信号)f(nT)变换到连续的频域, 即产生这个离散时间信号的连续频谱 , 其频谱是连续周期的。
211200)()|()()DTFT kw N knTN N i iwT iwnT N n n F e f nT e f nT e 长度为N 的有限长信号x(n), 其N 点离散傅里叶变换为:10()[()]()kn N N n X k DFT x n x n W 。
X(k)的离散傅里叶逆变换为: 。
DTFT 是对任意序列的傅里叶分析, 它的频谱是一个连续函数;而DFT 是把有限长序列作为周期序列的一个周期, 对有限长序列的傅里叶分析, DFT 的特点是无论在时域还是频域都是有限长序列。
3.实验内容及其步骤(1)复习傅里叶变换的定义及其性质, 加深理解。
(2)熟悉离散时间傅里叶变换的概念及其性质。
参考一: 计算离散时间傅里叶变换, 并绘制图形。
已知有限长序列x(n)={1,2,3,4,5}。
n=-1:3;x=1:5;k=0:500;w=(pi/500)*k;X=x*(exp(-j*2*pi/500)).^(n'*k);magX=abs(X);angX=angle(X);realX=real(X);imagX=imag(X);subplot(2,2,1);plot(w/pi,magX);grid;xlabel('');ylabel('模值 ');title('模值部分');subplot(2,2,2);plot(w/pi,angX);grid;xlabel('pi 为单位');ylabel('弧度');title('相角部分');subplot(2,2,3);plot(w/pi,realX);grid;xlabel('');ylabel('实部');title('实部部分');subplot(2,2,4);plot(w/pi,imagX);grid;xlabel('pi为单位');ylabel('虚部');title('虚部部分');参考二: 计算离散时间傅里叶变换。
离散时间系统的时域分析实验报告

3. clf; h=[-6 5 2 3 -2 0 1 0 5 -3 4 2 -1 -3 2]; %冲激 x=[2 4 -1 3 -5 2 0 -1 2 -1]; %输入序列 y=conv(h,x); n=0:23; subplot(2,1,1); stem(n,y);
4. clf; n=0:301; x=cos((0.5*pi/600)*n.*n+0*n); %计算输出序列 num1=[0.5 0.27 0.77]; y1=filter(num1,1,x);%系统#1 的输出 den2=[1 -0.35 0.46]; num2=[0.45 0.5 0.45]; y2=filter(num2,den2,x);%系统#2 的输出 %画出输入序列 subplot(3,1,1); plot(n,x); axis([0 300 -2 2]); ylabel('振幅'); title('系统的输入'); grid;
四、实验结果与分析
图一 图二
2
图三
图四
五、实验小结
通过这次实验,我熟悉 MATLAB 中产生信号和绘制信号的基本命令,学会 通过 MATLAB 仿真一些简单的离散时间系统,并研究了它们的时域特性。
经过了两次实验课,对于 MATLAB 的一些命令语句的格式熟悉多了。在完 成实验时比第一次更顺利了些。
subplot(3,1,3) d=d(2:42); stem(n,d);
2. clf; n=0:40; D=10; a=3.0; b=-2; x=a*cos(2*pi*0.1*n) + b*cos(2*pi*0.4*n); xd=[zeros(1,D) x]; nd=0:length(xd)-1; y=(n.*x)+[0 x(1:40)]; yd=(nd.*xd)+[0 xd(1:length(xd)-1)]; d=y-yd(1+D:41+D);
离散时间系统的时域分析

x(2n)
6
4
2
O 123456 n
已知x(n)波形,请画出 x(2n), x n 波形。
2
x n 6 2 5 4 3 2 1 O 1 2 3 4 5 6 7 8 9 10 12 n
三.常用离散信号
•单位样值信号 •单位阶跃序列 •矩形序列 •斜变序列 •单边指数序列 •正弦序列 •复指数序列
z(n) x(n + m) 左移位
x(n)
x(0) x( 1) x(1) x(3)
2 1 o 1 3 n
x(n 1) x(0)
x( 1) x(1) x(3)
3 1 o 1 2 4 n
x(2)
x(2)
5.倒置: z(n) x(n) 6.差分:前向差分:x(n) x(n + 1) x(n)
1.迭代法
2.时域经典法:齐次解+特解
3.零输入响应+零状态响应 利用卷积求系统的零状态响应
4. z变换法反变换y(n)
解差分方程的基础方法
一.迭代法 差分方程本身是一种递推关系,
(n)在n 0取有限值(不是面积)。
利用单位样值信号表示任意序列
x(n) x(m) (n m) m f (n)
1.5 2
1 o 1
34 n
3
f (n) 1,1.5,0,3,0,0, (n + 1) + 1.5 (n) 3 (n 2)
a nu(n)
1 a 0
1 1 O
1 2 3 4n
1 1 O 1
23
4n
x(n) sin(nω0 )
new第三章离散时间系统的时域分析

3. 举例 • 例1 已知 x(n)=(n),y(-1)=0, 用迭代法解方程:
y(n) ay(n 1) x(n)
• 解:y(0)=ay(-1)+1=1 • y(1)=ay(0)+0=a • y(2)=ay(1)+0=a2 • • y(n)=ay(n-1)+0=an • y(n)=ay(n-1)+0=anu(n)
n y(n) 0.45(0.9) u(n) 0.5u(n) 自由响应 强迫响应
• 零输入响应和零状态响应
用边界条件求系数
C1
5
1
, C2
n
5
1
最终解
1 1 5 1 1 5 y ( n) 5 2 5 2
n
例3 求 y(n)+6y(n-1)+12y(n-2)+8y(n-3)=x(n) 的齐次解 • 解(有重根)
差分方程特解的形式 • • • • • • • • • 激励 x(n) 特解 yp(n)的形式 A(常数) C(常数) An C1n+C2 nk C1 nk+ C2 nk-1++ Ck+1 nkan an(C1 nk+ C2 nk-1++ Ck+1 ) sin(bn)或 C1sin(bn)+C2cos(bn) con(bn) an [sin(bn)或 an[C1sin(bn)+C2cos(bn)] cos(bn)]
– 常系数线性差分方程(递归关系式) – 后向(或右移) 差分方程;前向(或左移) 差分方程
例2 已知离散时间系统如图示,写出 系统的差分方程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三 离散时间系统的时域分析
1.实验目的
(1)理解离散时间信号的系统及其特性。
(2)对简单的离散时间系统进行分析,研究其时域特性。
(3)利用MATLAB 对离散时间系统进行仿真,观察结果,理解其时域特性。
2.实验原理
离散时间系统,主要是用于处理离散时间信号的系统,即是将输入信号映射成的输出的某种运算,系统的框图如图所示:
]
[n x ]
[n y Discrete-time
systme
(1)线性系统
线性系统就是满足叠加原理的系统。
如果对于一个离散系统输入信号为12(),()
x n x n 时,输出信号分别为12(),()y n y n ,即:
1122()[()]()[()]
y n T x n y n T x n ==。
而且当该系统的输入信号为12()()ax n bx n +时,其中a,b 为任意常数,输出为
121212[()()][()][()]()()T ax n bx n aT x n bT x n ay n by n +=+=+,则该系统就是一个线性离散
时间系统。
(2)时不变系统
如果系统的响应与激励加于系统的时刻无关,则该系统是时不变系统。
对于一个离散时间系统,若输入()x n ,产生输出为()y n ,则输入为()x n k -,产生输出为()y n k -,即:
若()[()]y n T x n =,则[()]()T x n k y n k -=-。
通常我们研究的是线性时不变离散系统。
3.实验内容及其步骤
(1)复习离散时间系统的主要性质,掌握其原理和意义。
(2)一个简单的非线性离散时间系统的仿真 参考:% Generate a sinusoidal input signal
clf; n = 0:200; x = cos(2*pi*0.05*n); % Compute the output signal x1 = [x 0 0]; % x1[n] = x[n+1] x2 = [0 x 0]; % x2[n] = x[n] x3 = [0 0 x];
% x3[n] = x[n-1]
y = x2.*x2-x1.*x3; y = y(2:202); % Plot the input and output signals
subplot(2,1,1) plot(n, x)
xlabel('Time index n'); ylabel('Amplitude'); title('Input Signal')
subplot(2,1,2) plot(n,y)
xlabel('Time index n'); ylabel('Amplitude');
title('Output signal');
(3)线性与非线性系统的仿真
参考:% Generate the input sequences
clf; n = 0:40; a = 2; b = -3;
x1 = cos(2*pi*0.1*n); x2 = cos(2*pi*0.4*n);
x = a*x1 + b*x2;
num = [2.2403 2.4908 2.2403];
den = [1 -0.4 0.75];
ic = [0 0]; % Set zero initial conditions
y1 = filter(num,den,x1,ic); % Compute the output y1[n]
y2 = filter(num,den,x2,ic); % Compute the output y2[n]
y = filter(num,den,x,ic); % Compute the output y[n]
yt = a*y1 + b*y2; d = y - yt; % Compute the difference output d[n] % Plot the outputs and the difference signal
subplot(3,1,1) stem(n,y); ylabel('Amplitude');
title('Output Due to Weighted Input: a \cdot x_{1}[n] + b \cdot x_{2}[n]');
subplot(3,1,2) stem(n,yt); ylabel('Amplitude');
title('Weighted Output: a \cdot y_{1}[n] + b \cdot y_{2}[n]');
subplot(3,1,3) stem(n,d); xlabel('Time index n'); ylabel('Amplitude');
title('Difference Signal');
(4)时不变与时变系统的仿真
参考:% Generate the input sequences
clf; n = 0:40; D = 10; a = 3.0; b = -2;
x = a*cos(2*pi*0.1*n) + b*cos(2*pi*0.4*n);
xd = [zeros(1,D) x]; num = [2.2403 2.4908 2.2403]; den = [1 -0.4 0.75];
ic = [0 0]; % Set initial conditions
% Compute the output y[n]
y = filter(num,den,x,ic);
% Compute the output yd[n]
yd = filter(num,den,xd,ic);
% Compute the difference output d[n]
d = y - yd(1+D:41+D);
% Plot the outputs
subplot(3,1,1) stem(n,y); ylabel('Amplitude'); title('Output y[n]'); grid;
subplot(3,1,2) stem(n,yd(1:41)); ylabel('Amplitude');
title(['Output due to Delayed Input x[n - ', num2str(D),']']); grid;
subplot(3,1,3) stem(n,d); xlabel('Time index n'); ylabel('Amplitude');
title('Difference Signal'); grid;
4.实验用MATLAB函数介绍
在实验过程中,MATLAB函数命令plot, figure, stem, subplot, axis, grid on, xlabel, ylabel, title, clc等在不同的情况下具体表述也有所不同,应该在实验中仔细体会其不同的含义。
5.思考题
(1)离散时间系统有何特点。
(2)总结实验过程中所得到的结论,并能进行分析处理。
(3)对实验过程中所涉及的问题进行分析,试编写和修改相应的程序,得出最终正确的结果和波形图,并对实验报告进行整理分析。
(4)通过MA TLAB仿真,研究离散时间系统,对线性、非线性、时变、非时变等系统进行仿真。
6.实验报告要求:
(1)明确实验目的以及实验的原理。
(2)通过实验内容分析离散时间信号的性质。
(3)完成思考题的内容,对实验结果及其波形图进行分析对比,总结主要结论。
>> n = 0:40; x=[1 zeros(1,40)];
>> num = [0.8 -0.44 0.36 0.02]; den = [1 0.7 -0.45 -0.6];
>> y = filter(num,den,x,);
>> stem(n,y); legend('y[n]');。