matlab相关性分析频谱_利用Matlab绘制正弦信号的频谱图并做相关分析范文

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:52   742   0

专业知识整理分享

利用

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

混入噪声

');

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP