例子1 作用:使用傅里叶变换找出隐藏在噪声中的信号的频率成分。(指定信号的参数,采样频率为1 kHz,信号持续时间为1秒。)

Fs = 1000; % 采样频率

T = 1/Fs; % 采样周期

L = 1000; % 信号长度

t = (0:L-1)*T; % 时间向量

%%形成一个信号,包含振幅为0.7的50hz正弦信号和振幅为1的120hz正弦信号。

S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);

X = S + 2*randn(size(t)); %用零均值的白噪声破坏信号,方差为4。

plot(1000*t(1:50),X(1:50))

title('Signal Corrupted with Zero-Mean Random Noise')

xlabel('t (milliseconds)')

ylabel('X(t)')1234567891011121314

由上图可知:从时域中我们很难观察到信号的频率成分。怎么办呢?当然使用强大的傅里叶变换。

Y = fft(X); %计算傅里叶变换,X是加噪后的信号

%%

%计算双边谱P2。然后计算基于P2的单面谱P1和偶值信号长度L。(不太理解。。。)

P2 = abs(Y/L);

P1 = P2(1:L/2+1);

P1(2:end-1) = 2*P1(2:end-1);

%%

%定义频率域f并绘制单面振幅谱P1。由于增加的噪音,振幅不完全是0.7和1。平均而言,较长的信号产生更好的频率近似。

f = Fs*(0:(L/2))/L;

plot(f,P1)

title('Single-Sided Amplitude Spectrum of X(t)')

xlabel('f (Hz)')

ylabel('|P1(f)|')123456789101112131415

%%

%现在,对原始的,未被损坏的信号进行傅里叶变换,并得到准确的振幅,0.7和1.0。

Y = fft(S); %S时原始的,没有加噪的信号。

P2 = abs(Y/L);

P1 = P2(1:L/2+1);

P1(2:end-1) = 2*P1(2:end-1);

plot(f,P1)

title('Single-Sided Amplitude Spectrum of S(t)')

xlabel('f (Hz)')

ylabel('|P1(f)|')1234567891011

加上一点自己的理解。

例子2 作用:利用傅里叶变换,将高斯脉冲从时域转换为频域。

Fs = 100; % Sampling frequency

t = -0.5:1/Fs:0.5; % Time vector

L = length(t); % Signal length

X = 1/(4*sqrt(2*pi*0.01))*(exp(-t.^2/(2*0.01)));

plot(t,X)

title('Gaussian Pulse in Time Domain')

xlabel('Time (t)')

ylabel('X(t)')12345678910

%%

%要使用fft函数将信号转换为频域,首先要确定一个新的输入长度,该输入长度是原信号长度的下一个2次方。

%为了提高fft的性能,这将使信号X以尾随零的形式出现。

n = 2^nextpow2(L);

Y = fft(X,n);

f = Fs*(0:(n/2))/n;

P = abs(Y/n);

plot(f,P(1:n/2+1))

title('Gaussian Pulse in Frequency Domain')

xlabel('Frequency (f)')

ylabel('|P(f)|')12345678910111213

例子3余弦波 比较时域和频域的余弦波。指定信号的参数,采样频率为1kHz,信号持续时间为1秒。

Fs = 1000; % Sampling frequency

T = 1/Fs; % Sampling period

L = 1000; % Length of signal

t = (0:L-1)*T; % Time vector

x1 = cos(2*pi*50*t); % First row wave

x2 = cos(2*pi*150*t); % Second row wave

x3 = cos(2*pi*300*t); % Third row wave

X = [x1; x2; x3];

for i = 1:3

subplot(3,1,i)

plot(t(1:100),X(i,1:100))

title(['Row ',num2str(i),' in the Time Domain'])

end12345678910111213141516

n = 2^nextpow2(L);

dim = 2;

Y = fft(X,n,dim);

P2 = abs(Y/n);

P1 = P2(:,1:n/2+1);

P1(:,2:end-1) = 2*P1(:,2:end-1);

for i=1:3

subplot(3,1,i)

plot(0:(Fs/n):(Fs/2-Fs/n),P1(i,1:n/2))

title(['Row ',num2str(i), ' in the Frequency Domain'])

end1234567891011

基于matlab的傅里叶变换,基于matlab的傅里叶变换相关推荐

  1. 基于MATLAB去理解掌握傅里叶级数和傅里叶变换

    1.周期信号的傅里叶级数 f(t)=f(t+T) F0=1/T为基波频率 满足狄利赫里条件则周期信号可以展开为三角函数的线性组合 (1) 在一个周期内,函数f(t)为连续或只含有有限个第一类间断点: ...

  2. matlab序列谱分析,基于MATLAB序列谱分析及FFT实现快速卷积.pdf

    数字信号处理大作业 基于MATLAB 的序列谱分析与FFT 实现快速卷积 学 院(系): 软件学院 专 业: 网络工程 学 生 姓 名: 学 号: 班 级: 完 成 日 期: 大连理工大学 Dalia ...

  3. matlab 最大熵谱估计,基于Burg算法的最大熵谱估计

    <基于Burg算法的最大熵谱估计>由会员分享,可在线阅读,更多相关<基于Burg算法的最大熵谱估计(6页珍藏版)>请在人人文库网上搜索. 1.基于Burg算法的最大熵谱估计一. ...

  4. matlab 二重傅里叶积分,傅里叶积分、傅里叶变换的matlab实现.doc

    傅里叶积分.傅里叶变换的matlab实现.doc PAGE PAGE 1 院 校: 物理与电子科学学院 班 级: 0801 班 姓 名: 目 录 1. 引言---------------------- ...

  5. Matlab实现频域滤波——二维傅里叶变换、低通、高通

    目录 1.二维傅里叶变换 1.1二维傅里叶变换定义 1.2性质 2.低通滤波器 2.1理想低通滤波器 3.高通 1.二维傅里叶变换 1.1二维傅里叶变换定义 首先通过傅里叶变换将图像从空间域转换为频率 ...

  6. 离散傅里叶变换及matlab实现(按时间抽选(DIT)的基-2 FFT算法(库利-图基算法))

    转,傅里叶变换,很好的解释 很好的文章,可惜水平太差,还没有完全理解. 快速傅里叶的matlab实现 按时间抽选(DIT)的基-2 FFT算法(库利-图基算法) 傅里叶要用到的nn个复数,不是随机找的 ...

  7. 【图像去噪】基于正则化实现图像去噪附matlab代码

    1 简介 图像去噪一直是图像处理问题中一个重要的备受关注的问题,降质图像对于图像的进一步应用造成了很大局限性.从数学角度上来讲,图像去噪是一个反问题,对于含有模糊核的图像处理而言更是一个不适定的反问题 ...

  8. 贝叶斯网络结构学习之K2算法(基于FullBNT-1.0.4的MATLAB实现)

    题目:贝叶斯网络结构学习之K2算法(基于FullBNT-1.0.4的MATLAB实现) 有关贝叶斯网络结构学习的一基本概念可以参考:贝叶斯网络结构学习方法简介 有关函数输入输出参数的解释可以参考:贝叶 ...

  9. 傅里叶变换的Matlab代码

    原文:http://blog.csdn.net/xiaofengsheng/article/details/5991680 傅里叶变换的Matlab代码: img=imread('e:/4.jpg') ...

  10. matlab设计译码器,基于MATLAB的循环码编译码器设计与仿真.doc

    扳昂旨螺冈唉陨裤外狸尿恨铸伸隧刽搅必勒诚天腑皖漂豌鲁靳碑缆键兽峙棘陶宽槐撒层僧袁廖颤渐魄货鼎躬薛扬衍逮西兰迫依煤鲁虐渠惫平合啥昭并屿己笆坍痞庐披吏去凄嘛兄察突徊溅今箩直藩潦咙锨谓崇若制匹扮复淌颐糖嗅你 ...

最新文章

  1. 中科院DeepMind联手,用深度学习揭示大脑如何识别人脸|Nature子刊
  2. php array 关联数组,php array_merge关联数组
  3. 中国生物燃料市场产能预测与十四五战略前景展望报告2022年
  4. can 总线通信协议开发_Simulink应用层开发—CAN总线信号处理
  5. P8级别的顶级“并发编程”宝典,最全指南
  6. linux-pcap 抓包程序框架
  7. c# 打开的窗口显示在最前面_了解各种切换程序窗口的方法,提高工作效率
  8. 前端制作动画的几种方式(css3,js)
  9. 【HISI系列】之H264/H265/JPEG切帧方法
  10. SharePoint Server 2016 部署安装(七)—— 配置SharePoint Server
  11. 精品H5小游戏源码-免费下载
  12. Linux 访问 Windows 代理服务器配置
  13. 计算机进制转换练习,二进制十进制八进制十六进制转换练习题.docx
  14. 【埋点】是什么埋点?简述埋点的操作流程
  15. 串口调试精灵的使用和串口程序调试技巧
  16. 从微信公众号获取关注名单
  17. kibana启动报错Error: Could not close browser client handle!
  18. Timer定时器详解
  19. 整数n分解成素数乘积c语言,关于几种求素数的方法(C语言描述)
  20. 程序员不一定要进大厂,但是算法一定要学

热门文章

  1. w ndows7旗舰版怎么重装系统,windows7旗舰版怎么重装系统|怎么重装系统windows7旗舰版...
  2. sqlite内存数据库和文件数据库的同步
  3. IDEA中项目的两种打包方式
  4. [转载]我的PMP复习备考经验谈(上篇)—— 一本关于PMP备考的小指南
  5. 保研面试复习之数据结构篇
  6. 解决AXURE RP EXTENSION FOR CHROME的快捷方法
  7. 利用winrar安全加密
  8. 在线制作车牌效果图_在线快速生成,苹果设备在线样机
  9. 你想在网易云音乐中播放 QQ 音乐中下载的歌曲吗?用上它后助你秒实现!
  10. 基于51单片机利用ADC0808芯片实现A/D转换。