matlab仿真 通信信号和系统分析(上)
(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第三章内容,有兴趣的读者请阅读原书)
主要还是使用卷积函数conv,值得注意的是,得到的卷积和长度结果为81,是两个原始序列长度相加-1(41+41-1);
二、连续时间信号的傅里叶变换
使用函数fourier和函数ifourier进行傅里叶变换和傅里叶变换,可以注意到,将变量符号化后可以直接得到傅里叶变换后的数学表达式。
clear all; syms t;%调用函数fourier和ifourier需要使用syms命令对涉及到的变量进行说明,将其说明为符号变量 f=t*exp(-abs(t)); subplot(1,2,1);ezplot(f);%函数fourier和ifourier得到的返回函数仍然是符号表达式,作图应使用ezplot函数(有冲激函数ezplot无法使用) F=fourier(f) subplot(1,2,2);ezplot(abs(F));%abs(F)用来做幅频特性的图像
clear all; syms t w;%在反变换中涉及到了t和w两个变量,都需要符号化 F=pi*exp(-abs(w)); subplot(1,2,1);ezplot(abs(F));%频谱图 f=ifourier(F,t)%ifourier默认返回是关于x的函数,这里指定为返回t的函数 subplot(1,2,2);ezplot(f);%时域图
此题中是周期信号,不可积分,所以无法使用傅里叶变换,所以采用傅里叶级数进行求解
这题中我们是使用手动积分算出傅里叶级数的表达式后直接对表达式进行画图的,个人理解是因为无穷长的信号在matlab中表示较为复杂,所以反而是手动求解更快。
三、离散时间信号的傅里叶变换
clear all; w=-1:0.001:1;%产生数字频率的范围,这里的单位长度是pi,所以只计算了[-pi,pi]范围内的DTFT n=0:20;%离散序列的时间范围,0
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。