用Matlab画出信号的时域波形及频谱,观察它们的关系。18页PPT
matlab绘制正弦信号频谱图(虚频谱、实频谱、单、双边相位谱、单、双边幅频谱)

matlab 绘制正弦信号频谱图(虚频谱、实频谱、单、双边相位谱、单、双边幅频谱)matlab绘制正弦信号频谱图(虚、实频谱、单、双边相位谱、单、双边幅频谱) ⾸先我们今天绘制的正弦信号的函数表达式:f(x)=sin(2*π*f*t),其中f=2. 我使⽤的是matlab2020b,打开matlab后,新建脚本。
我们先画出sin(2*π*f*t)信号的图像: 函数图像如下: 然后对函数进⾏快速傅⾥叶变换、计算实部虚部,绘制幅频谱、相频谱、实频谱、虚频谱。
代码如下:f=2;T =1/f;Fs =100; %采样率Ts =1/Fs;t =0:Ts:1-Ts; %t 范围0~1,步长0.01n =length(t);y =sin(2*pi*f*t); %正弦信号函数sinplot =figure;plot(t,y) %绘制函数图像 x 轴为时间t ,y 轴为信号函数xlabel('时间(s )') %x 轴名称ylabel('信号') %y 轴名称title('原信号图像') %图像顶部名称grid on[Doain,Range]=cFFT(y,Fs);Doain2=Doain(1,51:100);stem(Range(1,51:100),abs(Doain2)*2,'Marker','none','LineWidth',3);%离散绘制幅频谱,取消原图像⼩圆圈,线条粗细3xlabel('Freq(Hz)')ylabel('幅值')title('单边幅频谱')gridaxis([-2.5,2.5,-1.5,1.5]) %坐标显⽰范围:x 轴-2.5~2.5,y 轴-1.5~1.5CnR =real(Doain); %实部CnI =imag(Doain); %虚部Cn =(CnR.^2+CnI.^2).^(1/2); %幅值fain =tand(CnI./CnR)/3; %相位⾓fain =fain(1,48:54); %去除影响因素figurestem(Range,CnR) %离散绘制gridaxis([-6,6,-2,2])title('实频谱')xlabel('Hz')ylabel('CnR')figurestem(Range,CnI,'Marker','none','LineWidth',3)axis([-2.5,2.5,-1,1])title('虚频谱')xlabel('Hz')ylabel('CnI')figurestem(Range,Cn,'Marker','none','LineWidth',3)gridaxis([-2.5,2.5,-0.5,1])title('双边幅频谱')xlabel('Hz')ylabel('|Cn|')figurestem(Range(1,48:54),-fain,'Marker','none','LineWidth',3) gridaxis([-2.5,2.5,-2.5,2.5])title('双边相频谱')xlabel('Hz')ylabel('相位⾓')figurefain2=fain(1,4:7);stem(Range(1,51:54),-fain2,'Marker','none','LineWidth',3) gridaxis([-2.5,2.5,-2.5,1.5])title('单边相频谱')xlabel('Hz')ylabel('相位⾓')figureplot(t,y)xlabel('时间(s)')ylabel('信号')title('原信号图像')grid onfunction[X,freq]=cFFT(x,Fs) %修正N=length(x);if mod(N,2)==0k=-N/2:N/2-1;elsek=-(N-1)/2:(N-1)/2;endT=N/Fs;freq=k/T;X=fft(x)/N;X=fftshift(X);end 绘制图像如下: 最后附上完整代码:f=2;T=1/f;Fs=100;Ts=1/Fs;t=0:Ts:1-Ts;n=length(t);y=sin(2*pi*f*t);sinplot=figure[Doain,Range]=cFFT(y,Fs);Doain2=Doain(1,51:100);stem(Range(1,51:100),abs(Doain2)*2,'Marker','none','LineWidth',3); xlabel('Freq(Hz)')ylabel('幅值')title('单边幅频谱')gridaxis([-2.5,2.5,-1.5,1.5])CnR=real(Doain);CnI=imag(Doain);Cn=(CnR.^2+CnI.^2).^(1/2);fain=tand(CnI./CnR)/3;fain=fain(1,48:54);figurestem(Range,CnR)gridaxis([-6,6,-2,2])title('实频谱')xlabel('Hz')ylabel('CnR')figurestem(Range,CnI,'Marker','none','LineWidth',3)gridaxis([-2.5,2.5,-1,1])title('虚频谱')xlabel('Hz')ylabel('CnI')figurestem(Range,Cn,'Marker','none','LineWidth',3)gridaxis([-2.5,2.5,-0.5,1])title('双边幅频谱')xlabel('Hz')ylabel('|Cn|')figurestem(Range(1,48:54),-fain,'Marker','none','LineWidth',3)gridaxis([-2.5,2.5,-2.5,2.5])title('双边相频谱')xlabel('Hz')ylabel('相位⾓')figurefain2=fain(1,4:7);stem(Range(1,51:54),-fain2,'Marker','none','LineWidth',3)gridaxis([-2.5,2.5,-2.5,1.5])title('单边相频谱')xlabel('Hz')ylabel('相位⾓')figureplot(t,y)xlabel('时间(s)')ylabel('信号')grid onfunction[X,freq]=cFFT(x,Fs)N=length(x);if mod(N,2)==0k=-N/2:N/2-1;elsek=-(N-1)/2:(N-1)/2;endT=N/Fs;freq=k/T;X=fft(x)/N;X=fftshift(X);end延迟T/4后的代码fo=2;T=1/fo;Fs=100;Ts=1/Fs;t=0:Ts:1-Ts;n=length(t);y=sin(2*pi*fo*t-pi/2);sinplot=figure[Doain,Range]=centeredFFT(y,Fs);Doain2=Doain(1,51:100);stem(Range(1,51:100),abs(Doain2)*2,'Marker','none','LineWidth',3); xlabel('Freq(Hz)')ylabel('幅值')title('单边幅频谱')gridaxis([-2.5,2.5,-1,1.5])CnR=real(Doain);CnI=imag(Doain);Cn=(CnR.^2+CnI.^2).^(1/2);fain=tand(CnR./CnI)*3.2;fain=fain(1,48:54);figurestem(Range,CnR,'Marker','none','LineWidth',3)gridaxis([-2.5,2.5,-1,1])title('实频谱')xlabel('Hz')ylabel('CnR')figurestem(Range,CnI)gridaxis([-6,6,-2,2])title('虚频谱')xlabel('Hz')ylabel('CnI')figurestem(Range,Cn,'Marker','none','LineWidth',3)gridaxis([-2.5,2.5,-0.5,1])title('双边幅频谱')xlabel('Hz')ylabel('|Cn|')figurestem(Range(1,48:54),abs(fain),'Marker','none','LineWidth',3)gridaxis([-2.5,2.5,-4,4])title('双边相频谱')xlabel('Hz')figurefain2=fain(1,4:7);stem(Range(1,51:54),abs(fain2),'Marker','none','LineWidth',3)gridaxis([-2.5,2.5,-4,4])title('单边相频谱')xlabel('Hz')ylabel('相位⾓')figureplot(t,y)xlabel('时间(s)')ylabel('y')title('原信号图像')grid onfunction[X,freq]=centeredFFT(x,Fs)N=length(x);if mod(N,2)==0k=-N/2:N/2-1; % N evenelsek=-(N-1)/2:(N-1)/2; % N oddendT=N/Fs;freq=k/T; %the frequency axisaccordinglyX=fft(x)/N;X=fftshift(X);End⽂件链接: (matlabxinhao1⽂件是本⽂所提到的信号,matlabxinhao2是将本⽂提到的信号延迟T/4之后的信号绘图。
用Matlab画出信号的时域波形及频谱,观察它们的关系。 ppt课件

f4 (t )
df3 (t ) dt
试用MATLAB画出它们的时域波形及频谱,观察 它们的关系。
用Matlab画出信号的时域波形及频谱,观察它们的关 系。
二 实验目的
1 正确运用傅立叶变换
2用Matlab编程观察周期信 号的合成过程。进一步理 解周期信号的傅里叶级数 分解特性。
3.学习用Matlab绘制周期 信号频谱的方法。
用Matlab画出信号的时域波形及频谱,观察它们的关 系。
Xlabel('t'),ylabel('f2') axis([-3,3,-0.5,1.5]); N=1000; k=-N:N; W1=40; W=k*W1/N; F=f2*exp(-j*t'*W)*R; F=real(F); subplot(1,2,2),plot(W,F) grid on;
f2(t)=u(2)-u(t-2) → ( e jw+e-
jw)*(πδ(w)+jw)
f3(t)=t[u(t+1)-u(t-1)] → [πð(w)+1/jw]
(ejw-e-jw)
f4(t)=df3(t)/dt
→【πð(w)+1/jw】(e -e )- 用Matlab画出信号的时域波形及频谱,观察它们的关
jw -jw
系。
f1(t)sa(2t)
Eg(t)Esa(2z)
F(t`) 2f()
1. 根据对称性 MATLAB编程 R=0.05; t=-1.2:R:1.2; t1=2*t; f1=sinc(t1); subplot(1,2,1),plot(t,f1) Xlabel('t'),ylabel('f1') axis([-2,2,-0.5,1.5]); N=1000; k=-N:N; W1=40; W=k*W1/N; F=f1*exp(-j*t'*W)*R; F=real(F); subplot(1,2,2),plot(W,F) Xlabel('W'),ylabel('用FMa(tljabw画)出'信)号的时域波形及频谱,观察它们的关
信号波形的产生与频谱的MATLAB程序

目录目录………………………………………………………………………………………………正文…………………………………………………………………………………………………1 基本波形………………………………………………………………………………1.1正弦波…………………………………………………………………………1.2三角波和锯齿波………………………………………………………………1.3方波和不对称方波……………………………………………………1.4伪码……………………………………………………………………………………2调幅………………………………………………………………………………2.1常规双边带调幅(AM)……………………………………………………………2.2抑制载波双边带调幅(DSB)……………………………………………………………2.3 单边带调幅(SSB)…………………………………………………………………3.4振幅键控(ASK)……………………………………………………………………3调频………………………………………………………………………………3.1单音频调频……………………………………………………………………………3.2锯齿波调频……………………………………………………………………………3.3 三角波调频…………………………………………………………………………3.4 移频键控(FSK)………………………………………………………………………4 调相……………………………………………………………………………………………4.1 方波调相…………………………………………………………………………………4.2 伪码调相…………………………………………………………………………………一、 基本波形(1)正弦波)t 2sin()(θ+***=m f pi t sm f 为正弦波频率,θ为初始相位理论频谱:)]()([)(m m j S ωωδωωδπω--+=m ω为正弦波角频率,且m m f *2πω= 时域波形:图1-1-1 正弦波的时域波形(横坐标为时间t ,纵坐标为幅度) 图1-1-1为正弦波的时域波形。
基于MATLAB的信号波形与频谱分析 精品

辽宁科技大学毕业设计(论文)第I页基于MATLAB的信号波形与频谱分析摘要本文利用MATLAB软件进行信号频谱分析的设计,并通过GUI界面(图形用户界面)实现信号频谱分析的动态设计。
用户可与计算机交互式地进行对象参数的设置、控制算法的选取、以及对离散信号与连续信号的动态频谱分析。
并利用MATLAB内嵌的Simulink模块,实现系统的信号频谱分析,满足不同用户的不同要求。
MATLAB的GUIDE是专门用于图形用户界面(GUI)程序设计的快速开发环境,本文从介绍GUIDE入手结合具体的软件图形界面实例,给出了利用GUIDE制作图形用户界面的基本方法。
通过本文的研究得出利用GUIDE设计的仿真界面不仅可以对离散信号与连续信号的动态频谱进行相关分析,而且还可以对此问题作进一步的预测和分析。
基于GUIDE技术制作的图形用户界面,具有友好性,开放性,方便科研人员不断地研究和扩充。
关键词频谱分析;GUI;SIMULINK;MATLAB辽宁科技大学毕业设计(论文)第II页AbstractUsing MATLAB software for signal spectrum analysis of the design, and through the GUI interface (graphical user interface) signal spectrum analysis of the dynamic design. Users can interactively with the computer targeting parameters for the establishment, control algorithm selection, and the discrete signals and continuous signal analysis of the dynamic spectrum. MATLAB and Simulink embedded module, the signal system to achieve spectral analysis, meet the needs of different users with different needs.MATLAB GUIDE is devoted to the graphical user interface (GUI) design procedures for the rapid development environment, This paper introduced GUIDE start from the context of the specific examples of graphical interface software, GUIDE is produced using a graphical user interface methods. Through this paper, the study of the use of simulation GUIDE interface design can not only right for discrete signal and the signal dynamic spectrum analysis, but also the issue for further analysis and forecasts. GUIDE technology based on the production of graphical user interface is friendly and open, facilitate researchers continue to study and expanded.Keywords Spectrum Analysis ;GUI;SIMULINK;MATLAB辽宁科技大学毕业设计(论文)第III页目录摘要 (I)Abstract.................................................................................................I I 第1章绪论 . (1)1.1 MATLAB应用软件简介 (1)1.2课题研究的内容 (2)1.2.1信号的频谱分析 (2)1.2.2信号频谱分析的原理 (3)1.2.3频谱分析与显示原理 (3)1.2.4对三阶交调进行模拟分析 (3)1.2.5伪彩色编码的动态频谱图显示 (4)1.2.6宽带频谱图与窄带频谱图 (5)1.3 GUI界面设计实现 (5)1.4 SIMULINK (6)1.4.1 SIMULINK模型与文件 (7)1.4.2 SIMULINK仿真原理 (7)第2章MATLAB工具箱的概述及GUI界面的简介 (8)2.1引言 (8)2.2句柄图形及图形用户界面 (8)2.3 GUIDE (8)2.4编制回调程序 (10)2.5主界面 (10)2.6子界面 (11)2.7基于MATLAB信号处理工具箱的数字滤波器设计与仿真 (11)2.8带通滤波器设计实例 (12)第3章GUI界面下噪声信号的频谱分析与实现 (14)3.1概述 (14)3.2 MATLAB信号处理工具箱介绍及功能 (14)3.2.1MATLAB工具箱介绍 (14)辽宁科技大学毕业设计(论文)第IV页3.2.2工具箱功能 (15)3.3通风机噪声信号的采集方法 (17)3.4噪声信号的频谱分析 (18)3.5GUI界面下噪声频谱分析的实现 (19)结论 (22)致谢 (23)参考文献 (24)附录A (25)附录B (27)辽宁科技大学毕业设计(论文)第1页第1章绪论1.1 MATLAB应用软件简介MATLAB是一种功能强大的科学计算和工程仿真软件,它的交互式集成界面能够帮助用户快速地完成数值分析、矩阵运算、数字信号处理、仿真建模、系统控制和优化等功能。
优选基于MATLAB的线性时域分析ppt(共15张PPT)

• (3)已知单位反馈开环系统传递函数。 • a=[0.1,1.5,5]; • b=100; • sys=tf(b,a);
• b1=50; • a1=[0.1,1.5,5,0]; • sys1=tf(b1,a1); • b2=[0 0 0 20 10];
• a2=[1 6 100 0 0];
• sys2=tf(b2,a2); • t=0:1:100;
• (2)系统的阶跃响应
• 实验2 • 程序:
• a1=10;
• b=[1,2,10]; • a2= [2,1]; • a3=[1,0,0.5];
• a4=[1,0];%求4个系统的阶跃响应
• [y,x,t]=step(a1,b);
• [y2,x2,t2]=step(a2,b);
• [y3,x3,t3]=step(a3,b);
• 3、已知单位反馈开环系统传递函数。
• 3、已知单位反馈开环系 统传递函数。
•
(a) G (S)
100
•
(0.1S 1 )( S5 )
(b) G (S)
50
•
S(0 .1 S 1 )( S 5 )
Байду номын сангаас
(c)G (S)S2(S 120 ( 2 6 S S 1 ) 10)0
• 输入分别为r(t)=2t和时
• e1=2*t; • e2=2+2*t+t.*t; • subplot(2,3,1); • lsim(sys,e1,t); • subplot(2,3,2); • lsim(sys1,e1,t); • subplot(2,3,3); • lsim(sys2,e1,t); • subplot(2,3,4); • lsim(sys,e2,t); • subplot(2,3,5); • lsim(sys1,e2,t); • subplot(2,3,6); • lsim(sys2,e2,t); •
信号时域采样频谱分析(matlab)

基于matlab 的时域信号采样及频谱分析一:主要设计方法与步骤:1. 画出连续时间信号0sin()()t u t Ω-at x(t)=Ae 的时域波形及其幅频特性曲线,其中,幅度因子444.128A =,衰减因子222.144a =,模拟角频率0222.144Ω=;2. 对信号()x t 进行采样,得到采样序列0()sin()()ant x n Ae nT u n -=Ω,050n ≤≤,其中,1sT f =为采样间隔,通过改变采样频率可改变T ,画出采样频率分别为200H z ,500Hz ,1000Hz 时的采样序列波形;3. 对不同采样频率下的采样序列进行频谱分析,绘制其幅频和相频曲线,对各频率下采样序列()x n 和()x t 的幅频曲线有无差别,如有差别说明原因;4. 设系统单位抽样响应为5()()h n R n =,求解当输入为()x n 时的系统响应()y n ,画出()x n ,()h n ,()y n 的时域波形及幅频特性曲线,并利用结果验证卷积定理的正确性(此内容将参数设置为444.128A =,222.144a =,0222.144W =,1000fs =); 5. 用FFT 对信号()x n ,()h n ,()y n 进行频谱分析,观察与4中结果有无差别; 6. 由采样序列()x n 恢复出连续时间信号1()x t ,画出其时域波形,对比1()x t 与原来的连续时间信号()x t 的时域波形,计算并记录两者最大误差。
二:详细程序及仿真波形分析1.连续时间信号()x t 及其200/500/1000Hz Hz Hz 频率抽样信号函数()x n % 绘制信号x(n)的幅度谱和相位谱 clcclear all close alln=0:50 % 定义序列的长度是50A=input('请入A 的值A:') % 设置信号的有关参数 a=input('请入a 的值a:')w0=input('请入w0的值w0:') T1=0.005 T2=0.002 T3=0.001 T0=0.001x=A*exp(-a*n*T0).*sin(w0*n*T0) y1=A*exp(-a*n*T1).*sin(w0*n*T1) y2=A*exp(-a*n*T2).*sin(w0*n*T2) y3=A*exp(-a*n*T3).*sin(w0*n*T3) close allsubplot(2,1,1)stem(n,x) % 绘制x(n)的图形 grid ontitle('离散时间信号') subplot(2,1,2) plot(n,x) grid ontitle('连续时间信号')05101520253035404550离散时间信号5101520253035404550-50050100150连续时间信号figure(2)subplot(3,1,1) stem(n,y1) grid ontitle('200Hz 理想采样信号序列') subplot(3,1,2) stem(n,y2) grid ontitle('500Hz 连续时间信号') subplot(3,1,3) stem(n,y3)grid ontitle('1000Hz 连续时间信号')5101520253035404550200Hz 理想采样信号序列05101520253035404550500Hz 连续时间信号051015202530354045501000Hz 连续时间信号k=-25:25W=(pi/12.5)*k w=W/piY1=y1*exp(-j*pi/12.5).^(n'*k) figure (3) subplot(2,1,1) plot(w,abs(Y1)) gridxlabel('w') ylabel('幅度')title('200Hz 理想采样信号序列的幅度谱') axis([-2 2 0 1000]) subplot(2,1,2) plot(w,angle(Y1)) gridxlabel('w') ylabel('幅角')title('200Hz 理想采样信号序列的相位谱')-2-1.5-1-0.500.51 1.5205001000w幅度-2.5-2-1.5-1-0.50.511.52-4-2024w幅角200Hz 理想采样信号序列的相位谱Y2=y2*(exp(-j*pi/12.5)).^(n'*k) figure (4) subplot(2,1,1) plot(w,abs(Y2)) gridxlabel('w') ylabel('幅度')title('500Hz 理想采样信号序列的幅度谱') axis([-2 2 0 1000]) subplot(2,1,2) plot(w,angle(Y2)) gridxlabel('w') ylabel('幅角')title('500Hz 理想采样信号序列的相位谱')-2-1.5-1-0.500.51 1.5205001000w幅度-2.5-2-1.5-1-0.50.511.52-4-2024w幅角500Hz 理想采样信号序列的相位谱Y3=y3*(exp(-j*pi/12.5)).^(n'*k) figure (5) subplot(2,1,1) plot(w,abs(Y3)) gridxlabel('w') ylabel('幅度')title('1000Hz 理想采样信号序列的幅度谱') axis([-2 2 0 1000]) subplot(2,1,2) plot(w,angle(Y3)) gridxlabel('w') ylabel('幅角')title('1000Hz 理想采样信号序列的相位谱')-2-1.5-1-0.500.51 1.5205001000w幅度-2.5-2-1.5-1-0.50.511.52-4-2024w幅角1000Hz 理想采样信号序列的相位谱分析:采样频率为1000Hz 时没有失真,500Hz 时有横线,产生失真,200Hz 时横线加长,失真加大。
利用Matlab绘制正弦信号频谱图并做相关分析

利用Matlab绘制正弦信号的频谱图并做相关分析一、作业要求:1、信号可变(信号的赋值、相位、频率可变);2、采样频率fs可变;3、加各种不同的窗函数并分析其影响;4、频谱校正;5、频谱细化。
二、采用matlab编写如下程序:clear;clf;fs=100;N=1024; %采样频率和数据点数A=20;B=30;C=0.38;n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,1),plot(f,yy); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图1:fs=100,N=1024');grid on;%两种信号叠加,x=A*sin(2*pi*B*t+C)+2*A*sin(2*pi*1.5*B*t+2.5*C); %信号y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,2),plot(f,yy); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图2:fs=100,N=1024,两种信号叠加');grid on;%加噪声之后的图像x=A*sin(2*pi*B*t+C)+28*randn(size(t));y=fft(x,N);yy=abs(y);yy=yy*2/N; %幅值处理subplot(3,3,3),plot(f(1:N/2.56),yy(1:N/2.56));xlabel('频率/\itHz');ylabel('振幅');title('图3:fs=100,N=1024混入噪声');grid on;%改变采样点数N=128N=128;n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,4),plot(f(1:N/2.56),yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图4:fs=100,N=128');grid on;%改变采样频率为200Hz时的频谱fs=400;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y); %求取傅里叶变换的振幅yy=yy*2/N; %幅值处理f=n*fs/N;subplot(3,3,5),plot(f(1:N/2.56),yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图5:fs=400,N=1024');grid on;%加三角窗函数fs=100;N=1024; %采样频率和数据点数n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号window=triang(N);%生成三角窗函数x=x.*window';%加窗函数y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,6),plot(f(1:N/2.56),2*yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图6:fs=100,N=1024,加三角窗函数');grid on;%加海明窗函数后的频谱fs=100;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号window=hamming(N);%生成海明窗函数x=x.*window';%加窗函数y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y); %求取傅里叶变换的振幅yy=yy*2/N; %幅值处理f=n*fs/N;subplot(3,3,7),plot(f(1:N/2.56),1.852*yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图7:fs=100,N=1024,加海明窗函数');grid on;%加汉宁窗函数后的频谱fs=100;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号window=hanning(N);%生成汉宁窗函数x=x.*window';%加窗函数y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y); %求取傅里叶变换的振幅yy=yy*2/N; %幅值处理f=n*fs/N;subplot(3,3,8),plot(f(1:N/2.56),2*yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图8:fs=100,N=1024,加汉宁窗函数');grid on;三、运行结果如下:四、分析与结论:1)从所做图像可以看出,信号的幅值均小于真实值,说明在截断信号时存在泄露。
第六章 利用Matlab对信号进行频域分析

练习 1连续求以下信号的DTFS的系数 连续求以下信号的DTFS的系数
x[n] = cos(nπ / 30) + 2sin(nπ / 90)
2已知一个信号在一个周期内的DTFS系数由下式给 已知一个信号在一个周期内的DTFS系数由下式给 出X[k]=(1/2)k,假设N=10,求出时域信号x[n]. 假设N=10,求出时域信号x[n].
Example T0=1;N=19;T=T0/N; t=0:T:T0; x=cos(2*pi*5*t)+2*sin(2*pi*9*t); Xm=fft(x,N)/N; f=(-(N-1)/2:(N-1)/2)/N/T;%% f=(-(N-1)/2:(Nfigure; stem(t,xlabel('f(Hz)');ylabel('Magnitude');title('幅度谱'); xlabel('f(Hz)');ylabel('Magnitude');title('幅度谱');
例题2 例题2 π π 7π x[n] = cos( n + ) + 0.5cos( n) 已知一个周期序列, 8 3 8 利用FFT计算它的离散时间傅里叶级数 利用FFT计算它的离散时间傅里叶级数 理论计算可得
7π x[n] = cos( n + ) + 0.5cos( n) 8 3 8 = e
∞
∫
相比离散时间非周期信号的DTFT分析方法,连续非周期信号的 相比离散时间非周期信号的DTFT分析方法,连续非周期信号的 DFT分析方法增加了时域抽样环节.如果不满足抽样定理,会出 DFT分析方法增加了时域抽样环节.如果不满足抽样定理,会出 现混叠误差.如果信号在时域加窗截断过程中,窗口宽度(截断 长度)或窗口类型不合适,则会产生较大的频率泄露而影响频谱 分辨率.因此确定抽样间隔T和相应的截断长度是决定DTFT能否 分辨率.因此确定抽样间隔T和相应的截断长度是决定DTFT能否 正确分析信号频谱的关键.