基于FFT的信号频谱分析
设计要求
- 用MATLAB产生正弦波及白噪声信号,并显示各自时域波形图。
- 进行FFT变换,显示各自频谱图。
- 做出两种种信号的均方根图谱,功率图谱,以及对数方均根图谱。
- 用IFFT傅里叶反变换恢复信号,并显示时域波形图
正弦波的信号频谱分析
正弦波源代码
clear all
clc
%*************************生成正弦信号************************% fs=100; %采样频率 N=128; %采样总点数 n=0:N-1; %各个采样点 f0=10; %正弦信号频率 t=n/fs; %1/fs是采样周期,采样了128此,相对应得采样时刻 x=sin(2*pi*f0*t); %生成正弦信号
%********************绘图*****************
figure
subplot(231);
plot(t,x);
xlabel('时间/s');
ylabel('幅值');
title('时域的波形');
grid on;
%**********FFT变换并画出频谱图******************
y=fft(x,N);%计算x的N点快速傅里叶变换
FuZhi=abs(y); %幅值计算
f=(0:length(y)-1)*fs/length(y); %将横坐标转化,显示为频率f= n*(fs/N)
subplot(232);
plot(f,FuZhi);
axis([0 100 0 80]);%设置当前坐标轴 x轴 和 y轴的限制范围
xlabel('频率/Hz');
ylabel('幅值');
title('FFT变化后幅频谱图');
grid on
%***********均方根谱**************
z=abs(y);
subplot(233);
plot(f,z);
xlabel('频率/Hz');
ylabel('幅值');
title('均方根谱');
grid on
%**********************功率谱*************
power=z.^2;
subplot(234);
plot(f,power);
xlabel('频率/Hz');
ylabel('幅值');
title('功率谱');
grid on
%***********对数谱******************
ln=log(z);
subplot(235);
plot(f,ln);
xlabel('频率/Hz');
ylabel('幅值');
title('对数谱');
grid on
%**********IFFT恢复出原始信号********************
xifft=ifft(y);
magx=real(xifft);
t1=(0:length(xifft)-1)/fs; %N/fs对应各个点的采样时间点
subplot(236);
plot(t1,magx);
xlabel('时间/t');
ylabel('幅值');
title('IFFT恢复出来的波形');
grid on
图像显示
白噪声的信号频谱分析
白噪声源代码
%*****************白噪声******************
fs=50; %采样频率
t=-5:0.1:5; %采样时间
x=rand(1,100); %产生1*100的随机矩阵
figure
subplot(231);
plot(t(1:100),x); %采用100个时间点
xlabel('时间/s');
ylabel('幅值');
title('时域波形');
grid on
%************FFT变化并做频谱图***********
y=fft(x);
FuZhi=abs(y);
f=(0:length(y)-1)*fs/length(y); %x坐标设为频率
subplot(232);
plot(f,FuZhi); xlabel('频率/Hz');
ylabel('幅值');
title('FFT变换的频域波形');
grid on
%************均方根谱************
z=abs(y);
subplot(233);
plot(f,z);
xlabel('频率/Hz');
ylabel('均方根谱');
title('均方根谱');
grid on
%**************功率谱**************
power=z.^2;
subplot(234);
plot(f,power);
xlabel('频率/Hz');
ylabel('功率谱');
title('功率谱');
grid on
%************对数谱**********
ln=log(z);
subplot(235);
plot(f,ln);
xlabel('频率/Hz');
ylabel('对数谱');
title('对数谱');
grid on
%***************IFFT恢复************
xifft=ifft(y);
mag=real(xifft);
ti=(0:length(xifft)-1)/fs;
subplot(236);
plot(ti,mag);
xlabel('时间/s');
ylabel('幅值');
title('IFFT恢复后的波形');
grid on
图像显示
基于FFT的信号频谱分析相关推荐
- matlab 信号的频谱分析,实验五基于Matlab的信号频谱分析(复杂)
实验五基于Matlab的信号频谱分析(复杂) 本次实验注意:<实验五MALTAB基础知识(简单)> <实验五 基于Matlab的信号频谱分析(复杂)> 选作一个即可 实验五 基 ...
- matlab复杂周期信号类建立,实验五 基于Matlab的信号频谱分析(复杂)
本次实验注意:<实验五MALTAB基础知识(简单)> <实验五 基于Matlab的信号频谱分析(复杂)> 选作一个即可 实验五 基于Matlab的信号频谱分析 (一) 实验目的 ...
- 通信中的同步(一)——基于FFT的信号信号载波频偏估计
实际上,基于 F F T FFT FFT的粗同步算法适用于各种调制方式.(BPSK, QPSK, 8PSK, PAM, or QAM调制) 基本算法见 Wang, Y., K. Shi, and E. ...
- 在matlab上利用fft进行信号频谱分析_使用示波器进行信号频谱分析(FFT)的设置教学...
对信号中的频率分量进行分析是十分重要的,因为他们常常会在设计中引起噪声,一旦超出允许的公差,就可能进而导致器件发生故障功能失常.严重的还可能导致电压尖峰,损坏器件.如果我们在设计的时候没有进行正确的测 ...
- 基于matlab和FFT算法实现信号频谱分析
系列文章目录 数字信号处理(DSP:Digital Signal Process)是电子通信领域非常重要的研究方向,博主汇总了数字信号处理(DSP)中常用的经典案例分析,主要基于算法分析.MATLAB ...
- 基于MATLAB的数字信号处理(3) 用FFT对信号作频谱分析
文章目录 一.实验目的 二.实验原理与方法 三.实验内容及步骤 1. 有限长序列 2. 周期序列 3. 模拟周期信号 四.回答思考题 五.实验总结 一.实验目的 学习用 FFT 对连续信号和时域离散信 ...
- 用fft对信号进行频谱分析实验报告_示波器上的频域分析利器,Spectrum View测试分析...
简介: [Spectrum View技术文章系列] 从基础篇开始,讲述利用示波器上的Spectrum View功能观测多通道信号频谱分析 正文: 示波器和频谱仪都是电子测试测量中必不可少的测试设备,分 ...
- 用计算机进行频谱分析时,实验四-利用FFT对信号进行频谱分析1112
实验四 利用DFT 对信号进行频谱分析 一.目的要求 (1) 进一步加深对线性卷积的理解和分析能力: (2) 通过编程,上机调试程序,进一步增强使用计算机解决问题的能力: (3) 掌握线性卷积与循环卷 ...
- gps 捕获 matlab,基于FFT的GPS信号快速捕获方法
基于FFT的GPS信号快速捕获方法 李继忠 李巍 (北京遥感设备研究所,北京100039) 摘要:设计在高动态环境下工作的GPS接收机,其难点之一便在于对卫星伪码的快速捕获. 针对缩短GPS接收机捕获 ...
最新文章
- 如何采集Nginx的日志?
- Java并发同步器AQS
- Python基础教程:判断列表重复
- 简单说说:JavaSE、JavaEE、JavaME这三大体系
- bzoj 4517: [Sdoi2016]排列计数
- python怎么让py里面逐行运行_怎样在安卓上运行python
- 爬虫demo_全自动爬虫,你爱了么!解放双手的时刻
- “互联网+”从业务本质重构业务形态
- win7桌面上显示html,win7如何在桌面显示ie图标|win7在桌面显示ie图标两种方法
- windows电脑如何设置定时关机?电脑设置定时关机的方法
- VS下使用LoadLibrary加载dll失败
- [渝粤教育] 中国地质大学 计算机会计理论与实务 复习题
- 刷脸支付代理收益盈利模式
- BASE64Encoded() 方法报错说方法未定义
- Intriguing Properties of Vision Transformers论文解析
- 随手记——静态Flag变量使用不规范导致的重大流程错误
- 分析ctr模型效果的一些思路总结
- #内存泄露# #valgrind# valgrind使用
- oracle oem 13c新特性,【EMCC】Oracle 13c OEM 安装测试(13.2.0.0)
- Dolphin Scheduler 2.x版本部署篇