【MATLAB学习笔记——在信号处理中的基本应用】

Matlab在信号处理中的基本应用———学习笔记

第0个实例——matlab基本操作(FFT频谱分析)

设计要求

1.用MATLAB产生正弦波及白噪声信号,并显示各自时域波形图
2.进行FFT变换,显示各自频谱图。
3.做出两种种信号的均方根图谱,功率图谱,以及对数方均根图谱。
4.用IFFT傅里叶反变换恢复信号,并显示时域波形图。

在这里插入图片描述

%*********************正弦波*********************
clc;
fs=60;                  %抽样频率100Hz
N=128;                  %采样点数
t=0:1/fs:(N-1)/fs;      %时域长度=点数 x 采样间隔=点数/采样频率
f0=10;                  %信号1的频率10HZ
x=sin(2*pi*f0*t);
figure(1);subplot(231);plot(t,x);grid;
xlabel("时间/s");ylabel("幅度");title("时域波形");

%*********************进行FFT变换******************
y=fftshift(fft(x,N));
mag=abs(y);
f=(floor(-(N-1)/2):floor((N-1)/2))/(N-1)*fs;%乘以信号长度分之一(频率分辨率)
subplot(232);plot(f,mag);grid;axis([-50, 50, 0, 100]);
xlabel("频率/Hz");ylabel("幅值");title("幅频图");

在这里插入图片描述
求三种谱,先忽略
ifft恢复出原信号

fftshift 将零频率移到中点。			用法y=fftshift(fft(x,N));
ifftshift 就是撤消 fftshift 的结果。	用法y=fftshift(fft(x2,N));

%*********************用ifft恢复原始信号******************
x2=ifft(ifftshift(y),N);
t2=(0:length(x2)-1)/fs;
subplot(233);plot(t2,x2);grid;
xlabel("时间/s");ylabel("幅度");title("恢复时域波形");

%*********************恢复信号进行FFT变换******************
y=fftshift(fft(x2,N));
mag=abs(y);
f=(floor(-(N-1)/2):floor((N-1)/2))/(N-1)*fs;
%f=(0:length(y)-1)*fs/length(y);
subplot(234);plot(f,mag);grid;axis([-50, 50, 0, 100]);
xlabel("频率/Hz");ylabel("幅值");title("恢复信号的幅频图");

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值