实验一-离散时间信号分析
实验一 离散时间信号的频域分析

实验一离散时间信号的频域分析一实验目的:信号的变换域分析是信号处理中一种有效的工具。
在离散信号的时域分析中,我们通常将信号表示成单位采样序列δ[n]的线性组合,而在频域中,我们将信号表示成复变量e-jwn或e-j(2*pi/N)n的线性组合,通过这样的表示,可以将时域的离散序列映射到频域以便于进一步的处理。
在本实验中,将学习利用MATLAB计算离散时间信号的DTFT和DFT,并加深对其相互关系的理解。
二实验原理:(1) DTFT和DFT的定义及其相互关系:序列x[n]的DTFT定义:X(e jw)=∑x[n]e-jnw(n从负无穷到正无穷)它是关于自变量w的复函数,且是以2*pi为周期的连续函数。
X(e jw)可以表示为:X(e jw)=X re(e jw)+ jX im(e jw)其中,X re(e jw)和X im(e jw)分别是X (e jw)的实部和虚部;还可以表示为:X(e jw)= |X(e jw)|e jØ(w)其中。
|X(e jw)|和Ø(w)=arg{ X(e jw)}分别是X(e jw)的幅度函数和相位函数;它们都是w的实函数,也是以2*pi为周期的周期函数。
序列x[n]的N点DFT定义:X[k]=X(e j(2*pi/N)k)=∑x[n]e-j(2*pi/N)kn (0<=n<=N-1)X[k]是周期为N的序列。
X(e jw)与X[k]的关系:X[k]是对X(e jw)在一个周期中的谱的等间隔N点采样,即:X[k]= X(e jw)|w=(2*pi/N)k而X(e jw)可以通过对X[k]内插获得。
(2)使用MATLAB命令:A.基于DTFT离散时间信号分析函数:freqz,real,imag,abs,angle,unware.函数freqz可以用来计算一个以e jw的有理分式形式给出的序列的DTFT值。
Freqz的形式多样,常见的有H=freqz(num,den,w),其中num表示序列有理分式DTFT的分子多项式系数,den表示分母多项式系数(均按z的降幂排列),矢量w表示在0到2*pi中给定的一系列频率集合点。
实验一 离散时间信号的时域分析

实验一 离散时间信号的时域分析实验1 序列的产生1. 目的:熟悉C 语言产生和绘制,熟悉MATLAB 中产生信号和绘制信号的基本命令。
2. 具体实验:2.1 单位样本和单位阶跃序列。
Q1.1 运行程序P1.1 ,以产生单位样本序列u[n]并显示它。
答:如图1-1所示。
Q1.2 命令clf , axis , title , xlabel 和ylabel 的作用是什么? 答:clf :擦除当前图形窗口中的图形。
Axis :调整坐标轴X 轴Y 轴的范围。
Title:给绘制的图形加上标题。
Xlabel:给X 轴加上标注。
Ylabel: 给Y 轴加上标注。
Q1.3 修改程序P1.1 以产生带有延时11个样本的延迟单位样本序列ud[n]。
运行修改的程序并显示产生的序列。
答:如图1-2所示。
Q1.4修改程序P1.1 以产生单位步长序列s[n]。
运行修改的程序并显示产生的序列。
答:如图1-3所示。
Q1.5修改程序P1.1 以产生带有超前7个样本的延迟单位样本序列sd[n]。
运行修改的程序并显示产生的序列。
答:如图1-4所示。
Figure 1-2 The unit sample sequence ud[n]Figure 1-1 The shifted unit sample sequence u[n]单位样本序列公式如下所示:Time index nA m p l i t u d eUnit Sample Sequence u[n]Time index nA m p l i t u d eShifted Unit Sample Sequence ud[n]1 , n=0 1 , n=k δ[n]= δ[n-k]=0 , 0≠0 0 , 0≠kFigure 1-3 The unit step sequence s[n] Figure 1-4 The shifted unit step sequence sd[n]单位阶跃序列公式如下所示:1 , n ≥0 1 , n ≥k μ[n]= μ[n-k]=0 , n <0 0 , n <k2.2 指数信号Q1.6 运行程序P1.2 ,以产生复数值的指数序列。
离散时间信号的时域分析实验报告

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

实验一 离散信号的分析一、实验目的1.观察常用离散时间信号的图形,掌握离散时间信号的基本序列运算。
2.理解离散时间系统的时域特性,加深对离散时间系统差分方程的理解。
3.熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
二、实验内容1.在给出的区间上产生并画出下面序列:200)],20()10([10)]10()([)()10(3.0≤≤---+--=--n n u n u e n u n u n n x n2.设}10,8,5,6,4,2,1{)(--=n x ,产生并画出下列序列的样本。
)(3)4(4)5(5)(1n x n x n x n x ++++=三、实验步骤1.新建一个m 文件stepseq.m ,保存到D :/matlab6p5/work 路径下。
具体函数段如下:function [x,n]=stepseq(n0,n1,n2)n=[n1:n2];x=[(n-n0)>=0];2利用上述函数完成实验内容1。
新建一个m 文件lin1.m ,保存到D :/matlab6p5/work 路径下。
具体函数段如下:n=[0:20];x1=n.*(stepseq(0,0,20)-stepseq(10,0,20));x2=10*exp(-0.3*(n-10)).*(stepseq(10,0,20)-stepseq(20,0,20));x=x1+x2;subplot(2,1,1);stem(n,x);xlable('n');ylabel('x(n)');axis([0,20,-1,11]);3.新建两个函数文件sigshift.m 和sigadd.m ,保存到D :/matlab6p5/work 路径下。
具体函数段如下:sigshift.m 程序——function [y,n]=sigshift(x,m,n0);n=m-n0;y=x;sigadd.m 程序——function [y,n]=sigadd(x1,n1,x2,n2); sigmultm=[min(n1),min(n2)];p=[max(n1),max(n2)];n=min(m):1:max(p);y1=zeros(1,length(n));y2=y1;y1(find(n>=min(n1)&(n<=max(n1))==1))=x1;y2(find(n>=min(n2)&(n<=max(n2))==1))=x2;y=y1+y2; y1 .*y24.运用上述两个函数完成实验内容2。
实验一离散时间信号的时域分析

实验一离散时间信号的时域分析离散时间信号是一种离散的信号形式,其具有离散的时间间隔。
这种信号在数字信号处理中得到了广泛的应用。
时域分析是分析信号的一种方法,它通常包括分析信号的幅度、相位、频率等参数,并从中获得信号的特征。
在本实验中,我们将探讨离散时间信号的时域分析方法。
1.实验目的• 了解离散时间信号的基本概念和性质。
• 熟悉MATLAB软件的使用,理解信号处理工具箱的使用方法。
2.实验原理离散时间信号是一种在离散时间点上定义的数列。
它通常用序列来表示,序列的元素是按照一定的时间间隔离散采样得到的。
离散时间信号的采样频率通常表示为Fs,单位是赫兹。
离散时间信号可以写成如下的形式:x(n) = [x(0),x(1),x(2),...,x(N-1)]其中,n表示离散时间点的下标,N表示离散时间信号的长度。
• 幅度分析:指分析离散时间信号的振幅大小。
离散时间信号的幅度、相位、频率的分析通常使用傅里叶变换、离散傅里叶变换等变换方法来实现。
3.实验步骤3.1 生成离散时间信号使用MATLAB编写程序,生成一个离散时间信号。
例如,我们可以生成一个正弦信号:t = 0:0.01:1;x = sin(2*pi*100*t);其中,t表示时间向量,x表示正弦信号。
将信号进行离散化,得到离散时间信号:其中,fs表示采样频率,n表示采样时间点,xn表示采样后的信号。
使用MATLAB的plot函数,绘制离散时间信号的时域图像。
figure(1);plot(n, xn);xlabel('Time');ylabel('Amplitude');其中,figure(1)表示创建一个新的窗口,用于显示图像。
xlabel和ylabel用于设置图像的横轴和纵轴标签。
3.3 使用FFT进行幅度分析X = fft(xn);n = length(X);f = (0:n-1)*(fs/n);power = abs(X).^2/n;其中,X表示离散时间信号的傅里叶变换结果,n表示离散时间信号的长度,f表示频率向量,power表示幅度谱。
实验一离散时间信号的分析报告

工程大学信号分析与处理实验一专业:通信02班学生:瑶华学号:**********完成时间:2022年4月27日实验一: 离散时间信号的分析一、实验目的1.认识常用的各种信号,理解其数学表达式和波形表示。
2.掌握在计算机中生成及绘制数字信号波形的方法。
3.掌握序列的简单运算及计算机实现与作用。
4.理解离散时间傅立叶变换、Z 变换及它们的性质和信号的频域特性。
二、实验设备计算机,MATLAB 语言环境。
三、实验基础理论1.序列的相关概念2.常见序列● 单位取样序列⎩⎨⎧≠==0n 0,0n 1n ,)(δ ● 单位阶跃序列⎩⎨⎧<≥=0,00,1)(n n n u ● 单位矩形序列⎩⎨⎧-≤≤=其他,010,1)(N n n R N ● 实指数序列)()(n u a n x n =● 复指数序列n jw e n x )(0)(+=σ● 正弦型序列)n sin()(0ϕ+=w A n x3.序列的基本运算● 移位 y(n)=x(n-m)● 反褶 y(n)=x(-n)● 和 )()()(21n x n x n y +=● 积 )()()(21n x n x n y •=● 标乘 y(n)=mx(n)● 累加∑-∞==nm m x n y )()( ● 差分运算 ⎩⎨⎧--=∇-+=∆)1()()()()1()(x n x n x n x n x n x n 后相差分前向差分 4.离散傅里叶变换的相关概念● 定义 ∑+∞-∞=-=n jwn jwe n x e X )()(● 两个性质1) [])2()2()2()()(,2)(ππππ++∞-∞=+-+--===∑w j n nw j jw n w j jwn jw e X e n x e X e ew e X 故有。
由于的周期函数,周期为是 2) 当x (n )为实序列时,)(jw e X 的幅值)(jw e X 在π20≤≤w 区间是偶对称函数,相位)(arg jw e X 是奇对称函数。
实验一离散时间信号与系统时域分析

实验一离散时间信号与系统时域分析实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令一实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令二、实验原理本实验主要为了熟悉MATLAB环境,重点掌握简单的矩阵(信号)输入和绘图命令,特别是绘图命令tem()和plot()。
实验内容中涉及到信号的无失真采样、离散卷积运算和差分方程求解这三个主要的问题。
其基本原理分别如下:对一个模拟信号某(t)进行采样离散化某(n),为了不失真地从采样信号某(n)中恢复原始信号某(t),采样时必须满足采样定理,即采样频率必须大于等于模拟信号中最高频率分量的2倍。
一个离散时间系统,输入信号为某(n),输出信号为y(n),运算关系用T[﹒]表示,则输入与输出的关系可表示为y(n)=T[某(n)]。
(1)线性时不变(LTI)系统的输入输出关系可通过h(n)表示:y(n)=某(n)某h(n)=式中某表示卷积运算。
(2)LTI系统的实现可物理实现的线性时不变系统是稳定的、因果的。
这种系统的单位脉冲响应是因果的(单边)且绝对可和的,即:h(n)0,n0;nh(n)0在MATLAB语言中采用conv实现卷积运算,即:Y=conv(某,h),它默认从n=0开始。
常系数差分方程可以描述一个LTI系统,通过它可以获得系统的结构,也可以求信号的瞬态解。
利用MATLAB 自带的filter(),可以代替手工迭代运算求解系统的差分方程,求解的过程类似于对输入信号进行滤波处理。
三、实验内容1、试画出如下序列的波形(1)某(n)3(n3)(n2)2(n1)4(n1)2(n2)3(n3)(2)某(n)0.5R10(n)解:用MATLAB描述波形1(1)某=[3120-42-3];%矩阵输入某n=-3:1:3;%输入自变量n,以间隔为1从-3到3变化n实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令tem(n,某);%tem()函数绘制火柴杆图,注意n,某元素个数必须相等某label('n');%横坐标显示nylabal('某(n)');%纵坐标显示某(n)grid;%绘制网格1(2)n=0:9;某=0.5.^n;tem(n,某);某label('n');ylabel('某(n)');gri实验目的1学习MATLAB语言编程和调试技巧2学会简单的矩阵输入和图形表示法3掌握简单的绘图命令2、用MATLAB计算序列{-201–13}和序列{120-1}的离散卷积,即计算某(n)2(n)(n2)(n3)3(n4)与h(n)(n)2(n1)(n3)解:用MATLAB描述波形。
离散信号分析实验报告

离散信号分析实验报告离散信号分析实验报告引言离散信号分析是一门重要的信号处理技术,广泛应用于通信、图像处理、音频处理等领域。
本实验旨在通过实际操作,探索离散信号分析的基本原理和方法,并通过实验结果验证理论知识的正确性。
实验一:离散信号采样与重构在离散信号分析中,采样是将连续时间信号转换为离散时间信号的过程。
首先,我们使用示波器对连续时间信号进行采样,得到一组离散时间信号。
然后,通过重构技术,将离散时间信号恢复为连续时间信号。
实验中,我们选择了一个正弦信号作为输入信号,通过改变采样频率和重构方法,观察信号的失真情况。
实验结果表明,当采样频率低于信号频率的两倍时,会发生混叠现象,导致信号失真。
而当采样频率高于信号频率的两倍时,信号可以被完全恢复。
此外,使用不同的重构方法也会对信号的失真程度产生影响。
通过实验,我们深入理解了采样和重构的原理,并了解到了如何选择合适的采样频率和重构方法。
实验二:离散信号频谱分析频谱分析是离散信号分析的重要内容之一。
在实验中,我们使用FFT算法对离散信号进行频谱分析,并观察信号在频域上的特征。
通过改变输入信号的频率、幅度和相位,我们可以观察到频谱分析结果的变化。
实验结果表明,在频域上,信号的频谱图呈现出明显的峰值,对应着信号的频率成分。
当输入信号为单频信号时,频谱图上只有一个峰值;而当输入信号为复合信号时,频谱图上会有多个峰值。
此外,改变信号的幅度和相位也会对频谱图产生影响。
通过实验,我们进一步理解了离散信号在频域上的特性,为后续的信号处理工作奠定了基础。
实验三:离散信号滤波滤波是离散信号处理中常用的技术之一。
在实验中,我们使用FIR和IIR两种滤波器对输入信号进行滤波,并比较它们的性能差异。
通过观察输出信号的波形和频谱,我们可以评估滤波器的效果。
实验结果表明,FIR滤波器具有线性相位特性,能够实现较好的频率响应;而IIR滤波器则具有较窄的带宽和较快的响应速度。
根据不同的应用需求,我们可以选择合适的滤波器类型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 离散时间信号分析一、实验目的1. 初步掌握 Matlab 的使用,掌握编写M 文件和函数文件2. 掌握各种常用序列的表达,理解其数学表达式和波形表示之间的关系。
3. 掌握生成及绘制数字信号波形的方法。
4. 掌握序列的基本运算及实现方法。
5. 研究信号采样时采样定理的应用问题。
二、实验原理1.序列的基本概念离散时间信号在数学上可用时间序列{x (n )}来表示,其中x (n )代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为-∞< n<+∞的整数,n 取其它值x (n )没有意义。
离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号x a (t ) 进行等间隔采样,采样间隔为T ,得到{x (nT )} a 一个有序的数字序列就是离散时间信号,简称序列。
2.常用序列常用序列有:单位脉冲序列(单位抽样)δ (n )、单位阶跃序列u (n )、矩形序列R N (n ) 、实指数序列、复指数序列、正弦型序列等。
3.序列的基本运算序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。
4.序列的卷积运算 y(n)=∑x (m )h (n −m )+∞m=−∞=x(n)*h(n) 上式的运算关系称为卷积运算,式中* 代表两个序列卷积运算。
两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。
其计算的过程包括以下4 个步骤。
(1)反褶:先将x (n )和h (n )的变量n 换成m ,变成x (m )和h (m ),再将h (m )以纵 轴为对称轴反褶成h (-m )。
(2)移位:将h (-m )移位n ,得h (n- m )。
当n 为正数时,右移n 位;当n 为负数时, 左移n 位。
(3)相乘:将h (n -m )和x (m )的对应点值相乘。
(4)求和:将以上所有对应点的乘积累加起来,即得y (n )。
三、主要实验仪器及材料PC 机、Matlab7.0。
四、实验内容1.知识准备认真复习以上基础理论,理解本实验所用到的实验原理。
2.离散时间信号(序列)的产生利用MATLAB 产生和绘制下列有限长序列:(1)单位脉冲序列δ(n),单位阶跃序列u(n),矩形序列R8(n)(2)在一幅图上绘出曲线x1(t)=Asin(π5t+π3);x2(t)=Acos(t-π3);x3(t)=2sin(3t)cos(2t-π3).(3)绘出正弦衰减信号:x2(t)=Ae−αt sin(2πft),A=2,α=0.5,f=2Hz(4)绘出谐波信号:x3(t)=A1sin(2πft)+A2sin(2πf2t)+A3sin(2πf3t);A1=1,A2=0.5,A3=0.2,f=2Hz.3.序列的运算生成下列序列:x(n)=δ(n)+2δ(n-1)+3δ(n-2)+4δ(n-3)+5δ(n-4)h(n)= δ(n)+2δ(n-1)+δ(n-2)+2δ(n-3)(1) 利用MATLAB 编程完成上述两序列的卷积,并绘制运算后序列的波形。
(2)编写一个完成卷积的函数,输入是两个序列,输出是结果。
4.采样定理的研究分别令采样周期Ts 为不同值,绘出不同采样周期下x(t) =sin(t)的频谱(直接用FFT函数),观察频谱混叠现象,和防止混叠的采样周期。
5.上机实验并完成实验报告。
请将实验报告保存为压缩文件(.rar,或.zip 格式),包括源程序(.M 文件)和文档(.doc),统一名为“xxx——实验x.rar”或“xxx——实验x.zip”五、实验结果1.1.1单位脉冲序列δ(n)源程序:function [x,n] =impseq(n0,n1,n2)%产生x(n)=δ(n-n0);n1<=n0<=n2if((n0<n1)|(n0>n2)|(n1>n2))error('参数不满足n1<=n0<=n2')endn=n1:n2;x=[(n-n0)==0];%x=[zeros(1,n0-n1),1,zeros(1,(n2-n0))] stem(n,x);n0=0;n1=-3;n2=3;impseq(n0,n1,n2);1.1.2.单位阶跃序列u(n)源程序:function [x,n] =stepseq(n0,n1,n2)%产生x(n)=u(n-n0);n1<n0<n2if((n0<n1)|(n0>n2)|(n1>n2))error('参数不满足n1<n0<n2')endn=n1:n2x=[(n-n0)>=0]%x=[zeros(1,(n0-n1)),ones(1,(n2-n1))] stem(n,x);n0=0;n1=-3;n2=3;stepseq(n0,n1,n2);1.1.3.矩形序列源程序:function [ x,n ] = R( N,ns,nf )%产生序列x(n)=u(n-n0)-u(n-n0-N)n=ns:nf;np=0; x=stepseq(np,ns,nf)-stepseq(N,ns,nf);%x=[0<=n<7]stem(n,x);N=8;ns=-2;nf=10;x=R(N,ns,nf)1.2在同一图中绘制x1(t),x2(t),x3(t)源程序:function [x1,x2,x3,t ] = X1(A,a,b ) t=a:0.001:b;a<bif(a>=b)error('参数不满足a<b')endx1=A.*sin(pi./5.*t+ pi./3);x2=A.*cos(t-pi./3);x3=2.*sin(3.*t).*cos(2.*t-pi./3); plot(t,x1,x2,x3)A=2;a=-pi;b=pi;[x1,x2,x3]=X1(A,a,b);1.3正弦衰减信号源程序:function [x,t] = X2( A,a,f,t1,t2 )%产生函数x(t)=e^(-at) sin(2pift),t1<t2 if(t1>t2)error('参数不满足t1<t2')endt=t1:0.01:t2;x=exp(-a.*t).* sin(2.*pi.*f.*t);plot(t,x)A=2;a=0.5;f=2;t1=-2;t2=2;x=X2(A,a,f,t1,t2)1.4谐波信号源程序:function [ x,t ] =X3( A1,A2,A3,f,t1,t2 )%产生x3(t)=A1.*sin(2.*pi.*f.*t)+A2.*sin(2.*pi.*f.*2.*t)+A3.*sin(2.*pi.*f.* 3.*%t),t1<t2if(t1>t2)error('参数不满足t1<t2')endt=t1:0.0001:t2;x=A1.*sin(2.*pi.*f.*t)+A2.*sin(2.*pi.*f.*2.*t)+A3.*sin(2.*pi.*f.*3.*t );plot(t,x)A1=1;A2=0.5; A3=0.2;f=2;t1=-1;t2=1;x=X3(A1,A2,A3,f,t1,t2);2矩阵的运算源程序:function [y,ny] = convwthn(x,nx,h,nh)ny1=nx(1)+nh(1);ny2=nx(end)+nh(end)%x*h在nx(1)+nh(1)到nx(end)+nh(end)之间取值;%nx(1)、nh(1)为最小下标,end为最大下标;y=conv(x,h);ny=ny1:ny2;stem(ny,y);endx=[1,2,3,4,5];nx=0:4;h=[1,2,1,2];nh=0:3;[y,ny]=convwthn(x,nx,h,nh);3采样定理的研究(1)fs=0.5(2)fs=π/2(3)fs=2(4)fs=10由图可以看出:当采样周期T<=π/2时正弦函数 x=sin(t)不产生混叠。
源程序:function [ ] =sample(fs,N)T=1/fs; %采样周期n=0:N-1;t=n*T; %采样时间点x=sin(t); %生成正弦信号subplot(1,2,1)plot(t,x);%画正弦信号的时域波形y=fft(x,N); %fft变换mag=sqrt(y.*conj(y)); %求幅值f=(0:N-1)*fs/N; %进行对应的频率转换subplot(1,2,2);plot(f,mag); %画频谱图axis([-10,50,0,80]);五、思考题1. 如何产生方波信号序列和锯齿波信号序列?方波源程序:function [y,t ] = squ( T )%方波T=0:0.001:2*pi;%方波的时间向量y=square(6*T);%方波w=6,周期为T=2*pi/6 plot(T,y);%画方波;axis([T(1)-1,T(end)+1,-2,2]);%坐标轴区域锯齿波源程序:function [y,t] = saw( t )t=0:0.001:10;y=t-fix(t);%取t的小数部分plot(t,y)2. 总结matlab 编程和C 编程的相同点和不同点?(1)相同点:都是可编程软件;很多编程语句和规则都是相同的(如赋值、变量命名、循环语句、条件语句、函数嵌套调用等);都是实现结构化程序块编程。
(2)不同点:MATLAB是一种数值计算环境和编程语言,它可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
Matlab中很多函数可以直接使用而非定义声明之后调用。
C 语言,是一种通用的、程序式的编程语言,广泛用于系统与应用软件的开发。
具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,也就是说,C 语言的目的是用与软件开发,它有着丰富的应用支持。
C语言中调用函数必须事先自定义和声明。
3. 总结叙述matlab 编程的一个新应用领域,工具箱或功能目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、线性矩阵不等式控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等领域。
模型预测控制工具箱提供了一系列用于模型预测控制的分析、设计和仿真的函数。