⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctft.m

📁 经典《信号与系统》教程的matlab例程,对深入理解信号与系统相关概念有很大帮助
💻 M
字号:
%==========================================================================
%                      傅里叶变换      程序名:CTFT
%  本程序是采用数值积分的方法计算实信号的傅里叶变换。
%  对信号的要求是:
%  1、信号是时限信号,或者信号在时间t大于某一数值时,信号的值已经衰减到等于
%     或接近于零;
%  2、信号的频谱中不能含有冲激成分,因为计算机无法表现和处理冲激信号。
%==========================================================================
%                            下段程序为初始化
%==========================================================================
clear;close all
p=0.01;
t=-5:p:5;
x=input('input the expression of signal x(t):');
W1=6*pi;                             %确定信号的频率范围
N=512;           
k=-N:N;                              %对信号的角频率进行采样的点数为2N+1点
W=k*W1/N;                            %计算频率的采样间隔
%==========================================================================
%    下段程序计算信号的傅里叶变换,包括幅度谱和相位谱计算
%==========================================================================
X=x*exp(-j*t'*W)*p;                  %进行傅里叶数值积分运算(矩阵运算)
X1=abs(X);                           %求模——幅度谱
phi=57.3*angle(X);                     %求相位谱
%==========================================================================
%                            下段程序绘制图形
%==========================================================================
subplot(2,1,1);plot(t,x);grid on;
xlabel('t');ylabel('The curve of x(t)');
title('The signal x(t)');
subplot(2,2,3);plot(W/(2*pi),X1);grid on;
axis([-W1/(2*pi),W1/(2*pi),-0.3*max(X1),1.1*max(X1)])
title('The magnitude spectra ');
xlabel('w*2pi (radians/s)');
subplot(2,2,4);
plot(W/(2*pi),phi,'r');grid on;
xlabel('w*2pi (radians/s)');title('The phase spectra');
axis([-W1/(2*pi),W1/(2*pi),-180,180])
%===========================================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -