matlab画正弦曲线中如何完成正弦信号到复指数信号的转换?

连续时间信号和系统时域分析及MATLAB实现_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
连续时间信号和系统时域分析及MATLAB实现
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩37页未读,继续阅读
你可能喜欢 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
基于MATLAB的离散时间信号的时域分析
下载积分:600
内容提示:基于MATLAB的离散时间信号的时域分析
文档格式:DOC|
浏览次数:9|
上传日期: 15:59:53|
文档星级:
该用户还上传了这些文档
基于MATLAB的离散时间信号的时域分析
官方公共微信初学者,求教在matlab中实现信号的傅里叶正,逆变换如何编程序,非常感谢!越详细越好!_百度知道
初学者,求教在matlab中实现信号的傅里叶正,逆变换如何编程序,非常感谢!越详细越好!
在图象处理的广泛应用领域中,傅立叶变换起着非常重要的作用,具体表现在包括图象分析、图象增强及图象压缩等方面。fftshift的作用正是让正半轴部分和负半轴部分的图像分别关于各自的中心对称。因为直接用fft得出的数据与频率不是对应的,fftshift可以纠正过来。假设f(x,y)是一个离散空间中的二维函数,则该函数的二维傅立叶变换的定义如下:
p=0,1…M-1 q=0,1…N-1 (1) 或
p=0,1…M-1
q=0,1…N-1
(2) 离散傅立叶反变换的定义如下:
m=0,1…M-1 n=0,1…N-1(3)F(p,q)称为f(m,n)的离散傅立叶变换系数。这个式子表明,函数f(m,n)可以用无数个不同频率的复指数信号和表示,而在频率(w1,w2)处的复指数信号的幅度和相位是F(w1,w2)。2、MATLAB提供的快速傅立叶变换函数(1)fft2fft2函数用于计算二维快速傅立叶变换,其语法格式为:B = fft2(I)B = fft2(I)返回图象I的二维fft变换矩阵,输入图象I和输出图象B大小相同。例如,计算图象的二维傅立叶变换,并显示其幅值的结果,如图所示,其命令格式如下load imdemos saturn2imshow(saturn2)B = fftshift(fft2(saturn2));imshow(log(abs(B)),[],'notruesize')(2)fftshiftMATLAB提供的fftshift函数用于将变换后的图象频谱中心从矩阵的原点移到矩阵的中心,其语法格式为:
B = fftshift(I)对于矩阵I,B = fftshift(I)将I的一、三象限和二、四象限进行互换。(2)ifft2ifft2函数用于计算图象的二维傅立叶反变换,其语法格式为:B = ifft2(I)B = ifft2(A)返回图象I的二维傅立叶反变换矩阵,输入图象I和输出图象B大小相同。其语法格式含义与fft2函数的语法格式相同,可以参考fft2函数的说明。如果信号是二维的,用上面的函数即可!直接调用。如果信号是一维的,给你下面的例子,你应该能明白!clearfs=100;N=128;
%采样频率和数据点数n=0:N-1;t=n/
%时间序列x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号y=fft(x,N);
%对信号进行快速Fourier变换,逆变换函数为ifftmag=abs(y);
%求得Fourier变换后的振幅f=n*fs/N;
%频率序列subplot(2,2,1),plot(f,mag);
%绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=128');subplot(2,2,2),plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=128');%对信号采样数据为1024点的处理fs=100;N=1024;n=0:N-1;t=n/x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号y=fft(x,N);
%对信号进行快速Fourier变换mag=abs(y);
%求取Fourier变换的振幅f=n*fs/N;subplot(2,2,3),plot(f,mag); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=1024');subplot(2,2,4)plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=1024');
其他类似问题
为您推荐:
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁查看: 3124|回复: 2|关注: 0
求复指数信号e^(-3+j4)t,(σ =-3,w=4)的MATLAB程序
关注者: 1
谢& && & 谢了!
关注者: 1
有谁知道吗?谢谢了!
关注者: 1
有谁知道吗?谢谢了!
站长推荐 /1
Powered by实验一 MATLAB方法实现信号波形和微分方程的建立与求解37
上亿文档资料,等你来发现
实验一 MATLAB方法实现信号波形和微分方程的建立与求解37
实验一MATLAB方法实现信号波形和微分;方程的建立与求解;一、实验目的;1、熟悉和掌握常用的用于信号与系统时域仿真分析的;2、掌握连续时间和离散时间信号的MATLAB产生;3、牢固掌握系统的单位冲激响应的概念,掌握LTI;4、掌握利用MATLAB计算卷积的编程方法,并利;掌握MATLAB描述LTI系统的常用方法及有关函;基本要求:掌握用MATLAB描述连续
MATLAB方法实现信号波形和微分方程的建立与求解 一、实验目的1、熟悉和掌握常用的用于信号与系统时域仿真分析的MATLAB函数;2、掌握连续时间和离散时间信号的MATLAB产生,掌握用周期延拓的方法将一个非周期信号进行周期信号延拓形成一个周期信号的MATLAB编程;3、牢固掌握系统的单位冲激响应的概念,掌握LTI系统的卷积表达式及其物理意义,掌握卷积的计算方法、卷积的基本性质;4、掌握利用MATLAB计算卷积的编程方法,并利用所编写的MATLAB程序验证卷积的常用基本性质;掌握MATLAB描述LTI系统的常用方法及有关函数,并学会利用MATLAB求解LTI系统响应,绘制相应曲线。基本要求:掌握用MATLAB描述连续时间信号和离散时间信号的方法,能够编写MATLAB程序,实现各种信号的时域变换和运算,并且以图形的方式再现各种信号的波形。掌握线性时不变连续系统的时域数学模型用MATLAB描述的方法,掌握卷积运算、线性常系数微分方程的求解编程。二、实验原理信号(Signal)一般都是随某一个或某几个独立变量的变化而变化的,例如,温度、压力、声音,还有股票市场的日收盘指数等,这些信号都是随时间的变化而变化的,还有一些信号,例如在研究地球结构时,地下某处的密度就是随着海拔高度的变化而变化的。一幅图片中的每一个象素点的位置取决于两个坐标轴,即横轴和纵轴,因此,图像信号具有两个或两个以上的独立变量。在《信号与系统》课程中,我们只关注这种只有一个独立变量(Independent variable)的信号,并且把这个独立变量统称为时间变量(Time variable),不管这个独立变量是否是时间变量。
在自然界中,大多数信号的时间变量都是连续变化的,因此这种信号被称为连续时间信号(Continuous-Time Signals)或模拟信号(Analog Signals),例如前面提到的温度、压力和声音信号就是连续时间信号的例子。但是,还有一些信号的独立时间变量是离散变化的,这种信号称为离散时间信号。前面提到的股票市场的日收盘指数,由于相邻两个交易日的日收盘指数相隔24小时,这意味着日收盘指数的时间变量是不连续的,因此日收盘指数是离散时间信号。
而系统则用于对信号进行运算或处理,或者从信号中提取有用的信息,或者滤出信号中某些无用的成分,如滤波,从而产生人们所希望的新的信号。系统通常是由若干部件或单元组成的一个整体(Entity)。系统可分为很多不同的类型,例如,根据系统所处理的信号的不同,系统可分为连续时间系统(Continuous-time system)和离散时间系统(Discrete-time system),根据系统所具有的不同性质,系统又可分为因果系统(Causal system)和非因果系统(Noncausal system)、稳定系统(Stable system)和不稳定系统(Unstable system)、线性系统(Linear system)和非线性系统(Nonlinear system)、时变系统(Time-variant system)和时不变系统(Time-invariant system)等等。然而,在信号与系统和数字信号处理中,我们所分析的系统只是所谓的线性时不变系统,这种系统同时满足两个重要的基本性质,那就是线性性和时不变性,通常称为线性时不变(LTI)系统。1. 信号的时域表示方法1.1将信号表示成独立时间变量的函数例如
x(t)=sin(ωt) 和 x[n]=n(0.5)nu[n]分别表示一个连续时间信号和一个离散时间信号。在MATLAB中有许多内部函数,可以直接完成信号的这种表达,例如:sin():正弦信号cos():余弦信号exp():指数信号1.2用信号的波形图来描述信号用函数曲线表示一个信号,图1.1就是一个连续时间信号和一个离散时间信号的波形图。 图1.1 连续时间信号与离散时间信号的波形图1.3将信号用一个数据序列来表示对于离散时间信号,还可以表示成一个数的序列,例如:x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ….}↑n=0在《信号与系统》和《数字信号处理》课程中,上述三种信号的描述方法是经常要使用的。 2 用MATLAB仿真连续时间信号和离散时间信号在MATLAB中,无论是连续时间信号还是离散时间信号,MATLAB都是用一个数字序列来表示信号,这个数字序列在MATLAB中叫做向量(vector)。通常的情况下,需要与时间变量相对应。如前所述,MATLAB有很多内部数学函数可以用来产生这样的数字序列,例如sin()、cos()、exp()等函数可以直接产生一个按照正弦、余弦或指数规律变化的数字序列。2.1连续时间信号的仿真MATLAB提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。表示连续时间信号有两种方法,一是数值法,二是符号法。数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MATLAB的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。程序Program1_1是用MATLAB对一个正弦信号进行仿真的程序,请仔细阅读该程序,并在计算机上运行,观察所得图形。% Program1_1% This program is used to generate a sinusoidal signal and draw its plotclear,
% Clear all variablesclose all,
% Close all figure windowsdt = 0.01;
% Specify the step of time variablet = -2:dt:0.2;
% Specify the interval of timex = sin(2*pi*t);
% Generate the signalplot(t,x)
% Open a figure window and draw the plot of x(t)title('Sinusoidal signal x(t)')xlabel('Time t (sec)')例1-1指数信号
指数信号在MATLAB中用exp函数表示。如f(t)?Aeat,调用格式为
ft=A*exp(a*t)
程序是A=1; a=-0.4;t=0:0.01:10;
%定义时间点ft=A*exp(a*t);
%计算这些点的函数值plot(t,ft);
%画图命令,用直线段连接函数值表示曲线
%在图上画方格 例1-2
正弦信号在MATLAB中用 sin 函数表示。调用格式为
ft=A*sin(w*t+phi)A=1; w=2* phi=pi/6;t=0:0.01:8;
%定义时间点ft=A*sin(w*t+phi);
%计算这些点的函数值plot(t,ft);
%在图上画方格 例1-3
抽样信号Sa(t)=sin(t)/t在MATLAB中用 sinc 函数表示。定义为 Sa(t)?sinc(t/?)t=-3*pi:pi/100:3*ft=sinc(t/pi);plot(t,ft);axis([-10,10,-0.5,1.2]);
%定义画图范围,横轴,纵轴title('抽样信号')
%定义图的标题名字 例1-4
三角信号在MATLAB中用 tripuls 函数表示。调用格式为 ft=tripuls(t,width,skew),产生幅度为1,宽度为width,且以0为中心左右各展开width/2大小,斜度为skew的三角波。width的默认值是1,skew的取值范围是-1~+1之间。一般最大幅度1出现在t=(width/2)*skew的横坐标位置。t=-3:0.01:3;ft=tripuls(t,4,0.5);plot(t,ft);axis([-3,3,-0.5,1.5]); 例1-5 虚指数信号 调用格式是f=exp((j*w)*t)t=0:0.01:15;w=pi/4;X=exp(j*w*t);Xr=real(X);
%取实部Xi=imag(X);
%取虚部Xa=abs(X);
%取模Xn=angle(X);
%取相位subplot(2,2,1),plot(t,Xr),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]),title('实部');subplot(2,2,3),plot(t,Xi),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]),title('虚部');subplot(2,2,2), plot(t,Xa),axis([0,15,0,max(Xa)+1]),title('模');subplot(2,2,4),plot(t,Xn),axis([0,15,-(max(Xn)+1),max(Xn)+1]),title('相角');%subplot(m,n,i) 命令是建立m行n列画图窗口,并指定画图位置i例1-6 复指数信号 调用格式是f=exp((a+j*b)*t)t=0:0.01:3;a=-1;b=10;f=exp((a+j*b)*t);subplot(2,2,1),plot(t,real(f)),title('实部')subplot(2,2,3),plot(t,imag(f)),title('虚部')subplot(2,2,2),plot(t,abs(f)),title('模')subplot(2,2,4),plot(t,angle(f)),title('相角') 例1-7
矩形脉冲信号
矩形脉冲信号可用rectpuls函数产生,调用格式为y=rectpuls(t,width),幅度是1,宽度是width,以t=0为对称中心。t=-2:0.01:2;width=1;ft=2*rectpuls(t,width);plot(t,ft) 例1-8
单位阶跃信号
单位阶跃信号u(t)用“t&=0”产生,调用格式为ft=(t&=0)t=-1:0.01:5;ft=(t&=0);plot(t,ft);axis([-1,5,-0.5,1.5]);例1-9
正弦信号符号算法syms t
%定义符号变量ty=sin(pi/4*t)
%符号函数表达式ezplot(y,[-16,16])
%符号函数画图命令或者f=sym('sin(pi/4*t)')
%定义符号函数表达式ezplot(f,[-16,16]) 例1-10 单位阶跃信号
MATTLAB符号数学函数Heaviside表示阶跃信号,但要画图需在工作目录创建Heaviside的M文件function f=Heaviside(t)f=(t&0);保存,文件名是Heaviside ,调用该函数即可画图,例t=-1:0.01:3;f=heaviside(t);plot(t,f)axis([-1,3,-0.2,1.2])或者y=sym('Heaviside(t)');ezplot(y,[-1,5]);grid on 常用的图形控制函数axis([xmin,xmax,ymin,ymax]):图型显示区域控制函数,其中xmin为横轴的显示起点,xmax为横轴的显示终点,ymin为纵轴的显示起点,ymax为纵轴的显示终点。有时,为了使图形具有可读性,需要在所绘制的图形中,加上一些网格线来反映信号的幅度大小。MATLAB中的grid on/grid off可以实现在你的图形中加网格线。grid on:在图形中加网格线。grid off:取消图形中的网格线。x = input(?Type in signal x(t) in closed form:?)在《信号与系统》课程中,单位阶跃信号u(t) 和单位冲激信号δ(t) 是二个非常有用的信号。它们的定义如下?t?????(t)dt?1t?0
1.1(a) ?(t)?0,?1,u(t)???0,t?0
1.1(b) t?0这里分别给出相应的简单的产生单位冲激信号和单位阶跃信号的扩展函数。产生单位冲激信号的扩展函数为:function y = delta(t)dt = 0.01;y = (Heaviside (t)- Heaviside (t-dt))/请将这个MATLAB函数以delta为文件名保存在work文件夹中,以后,就可以像教材中的方法使用单位冲激信号δ(t)。包含各类专业文献、各类资格考试、幼儿教育、小学教育、文学作品欣赏、行业资料、外语学习资料、应用写作文书、实验一 MATLAB方法实现信号波形和微分方程的建立与求解37等内容。 
 实验一 MATLAB 方法实现信号波形和微分 方程的建立与求解 一、实验目的 1、熟悉和掌握常用的用于信号与系统时域仿真分析的 MATLAB 函数; 2、掌握连续时间和离散时间...  实验一 MATLAB 方法实现信号波形和微分 方程的建立与求解 一、实验目的 1、熟悉和掌握常用的用于信号与系统时域仿真分析的 MATLAB 函数; 2、掌握连续时间和离散时间...  MATLAB方法实现信号波形和微分方程的建立与求解 实验报告_计算机软件及应用_IT/计算机_专业资料。word版 可复制粘贴 实验一 实验报告(所有程序代码详见 m 文件) 三...  用 Matlab 的方法计算并绘制由如下微分方程表示系统...如何使用? 1 该换两个信号波形图中的横坐标,由 ...求解连续时间 LTI 系 统的单位冲激响应、单位阶跃...  1、学会运用 Matlab 表示常用连续时间信号的方法 2...信号的波形和特性 二、实验原理及实例分析 1、信号...连续时间系统可以使用常系数微分方程来描述,其完全...  《信号与系统 MATLAB 实现》 实验指导书 电气信息...可用 绘图语句画出其波形;符号法是利用 MATLAB 的...LTI 连续系统可用如下所示的线性常系数微分方程来...  基于Matlab 的信号与系统实验指导 实验一一、实验...时间信号的方法 2、观察并熟悉这些信号的波形和特性...连续时间系统可以使用常系数微分方程来描述,其完全...  基于Matlab 的信号与系统实验指导实验一 连续时间信号...时间信号的方法 2、观察并熟悉这些信号的波形和特性...连续时间系统可以使用常系数微分方程来描述,其完全...  目的 MATLAB 编程环境及常用信号的生成及波形仿真 1、学会运用 Matlab 表示常用连续时间信号的方法 2、观察并熟悉这些信号的波形和特性 : 3、实验内容:编程实现如...

我要回帖

更多关于 matlab正弦函数 的文章

 

随机推荐