http://www.ilovematlab.cn/thread-218001-1-1.html

http://www.ilovematlab.cn/thread-52799-1-1.html

http://www.ilovematlab.cn/thread-327632-1-1.html

​你的版本是什么?从R2013a开始,建议用pwelch,在那之前,建议用spectrum.welch

形状上没啥差异,无非是缺省用的窗不一样,但是这个pwelch的结果没有除采样率​

fs = 1000;

t=0:1/fs:1;

y=cos(2*pi*40*t)+3*cos(2*pi*100*t)+randn(size(t));

nfft = 2^nextpow2(length(y));

subplot(3, 1, 1);

Hs=spectrum.welch;

hpsd = psd(Hs, y,'NFFT',nfft,'Fs',fs);

Pw = hpsd.Data;

Fw = hpsd.Frequencies;

plot(Fw, Pw)

grid;axis([0 500 0 max(Pw)]);title('psd');

subplot(3, 1, 2);

[Pxx,fxx]=pwelch(y,[],[],[],fs,'twosided');

plot(fxx, Pxx);

grid;axis([0 500 0 max(Pxx)]);title('pwelch');

subplot(3, 1, 3);

n = 0 : nfft/2;

f = n * fs / nfft;

Y = fft(y, nfft) / nfft;

plot_Y = 2 * abs(Y(1:nfft/2+1));

plot(f, plot_Y);

grid;axis([0 500 0 max(plot_Y)]);title('fft');

在第8行后面加Hs.SegmentLength =

222;然后在第9行后面加twosided(hpsd);最后在pwelch里第四个输入用nfft这样前两个图应该基本上就一样了。至于fft,那个不是功率谱,而是频谱,所以没有可比性。而且就算你把它除采样频率,换成功率谱,它也是和周期图对应,和welch还是不一样的。

我认为在这两命令中window的含义是不一样的,在[Pxx,f]=pwelch(x,window,noverlap,nfft,fs)中window是一个具体的窗函数,例如window=hanning(256)而在h

=

spectrum.welch('Hann',window,100*noverlap/window);中window只是窗的长度,例如256。我做了一个试验得到的结果两命令完全一样:x=load('hdata.txt');fs=8000;nfft=256;noverlap=128;window=hanning(nfft);[Pxx,f]=pwelch(x,window,noverlap,nfft,fs);subplot

211;

plot(f,Pxx);title('pwelch');window=256;h

=

spectrum.welch('Hann',window,100*noverlap/window);hpsd

=

psd(h,x,'NFFT',nfft,'Fs',fs);P=hpsd.Data;ff=hpsd.Frequencies;subplot

212;

plot(ff,P);title('spectrum.welch');得的图如下:

matlab pwlech,MATLAB功率谱函数pwelch 和specture.welch相关推荐

  1. c++引用matlab类,matlab调用C++函数浅谈(一)

    由于在下才疏学浅,在网上看各高手指南时亦觉云里雾里,遂决定一切说明从最基础说起,一是方便自己(记性奇差),二是方便似我的小白.以下部分是我从各网站论坛等摘抄.重组.改写过的,以求更加详实明朗,由于参考 ...

  2. 磁盘驱动读取系统MATLAB仿真,matlab读写..doc

    matlab读写. MATLAB二进制数据文件的读写 (2011-06-04 19:44:27) 转载▼ 标签: easleyhux matlab 二进制读写 杂谈分类: MATLAB 所谓二进制格式 ...

  3. 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(三)一阶保持(FOH)内插

    上篇博文采用了零阶保持(ZOH)的方式进行了重构:[ MATLAB ]MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH) 这篇博文我们使用一阶保持(FOH)内插来重建信号,采用的案例依然是 ...

  4. 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH)

    上篇博文采样sinc函数内插的方式实现了模拟信号的重建:[ MATLAB ]MATLAB 实现模拟信号采样后的重建(一) 这篇博文我们使用零阶保持器(ZOH)来重建信号,采用的案例依然是上篇博文中的案 ...

  5. Matlab:Matlab中常用的函数、案例详细攻略

    Matlab:Matlab中常用的函数.案例详细攻略 目录 常用函数 1.与文件相关 2.MATLAB GUI不同控件函数间变量传递方法 常用函数 Matlab中的bwmorph函数解释 bwmorp ...

  6. vb调用matlab工具箱,Matlab与VB集成 - 关于VB的经验之谈 - VB爱好者乐园(VBGood) - 关于VB的经验,电子教程,代码,控件,论坛,博客,微博等....

    工业生产中经常遇到复杂的数据信息处理问题,需要大运算量的矩阵计算及对分析结果进行实时.直观的图形化显示.Matlab是集数值分析.矩阵运算.信号处理和图形显示于一体的高性能数学软件,将其强大的计算功能 ...

  7. ccs matlab联调,MATLAB与CCS联调中idelink_ert_tlc和ert_tlc选择

    同问.希望高工给解释一下.我在用idelink_ert_tlc的时候就能通过2014B给DSP直接下载程序.但是用ert_tlc就不行,提示文件路径不对.问题描述如下,请高工帮忙解决一下,谢谢! ## ...

  8. matlab转向语句,MATLAB控制语句

    MATLAB控制语句 目的:研究控制结构(用于,是否,切换,中断,继续,输入/输出功能,读取和存储数据). 如果:如果计算逻辑表达式,并根据表达式的值执行一组语句. If语句的语法 例子 输出: Sw ...

  9. opencv matlab配置,Matlab下运行c++程序的配置(包含opencv的c++程序)

    本文使用的是matlab2012b.VS2010和OpenCV249 1.打开matlab 2.输入mex -setup Welcome to mex -setup.  This utility wi ...

最新文章

  1. 实战证明LINUX系统下密钥对验证的安全性
  2. [YTU]_2566( 虚基类练习:动物)
  3. ceph单节点安装部署
  4. Shell脚本编写及常见面试题
  5. Bzoj1051 受欢迎的牛
  6. Request获取url各种信息的方法
  7. 125 Valid Palindrome
  8. Jenkins动态部署方案
  9. Mac电脑上java如何手动释放内存?
  10. 库存在,编译或运行时提示找不到,要配置LD_LIBRARY_PATH
  11. Eclipse反编译插件(免费无需下载资源)
  12. CCS10.2安装步骤
  13. linux下搭建L2TP+IPSec服务端,组建异地虚拟局域网
  14. springboot启动类
  15. 基于javaweb企业合同管理系统
  16. 零基础自学python计划_「经验分享」python零基础学习规划与建议!
  17. 【每天学习一点新知识】菜刀、冰蝎、蚁剑、哥斯拉webshell工具分析
  18. 【数据字典】第三篇 利用PowDesigner自动生成数据字典
  19. cannot find -lxxx解决方法
  20. 计算机研究生就业方向之去央企(国企)信息化部门

热门文章

  1. 从三级界面直接跳回一级调用方法
  2. TOP100summit:【分享实录-QQ空间】10亿级直播背后的技术优化
  3. python列表append()函数
  4. F1-VmwareCentOS7.x
  5. 常用命令-JAVA大数据-Week5-DAY2-linux
  6. 第3章 快速开始:HelloWorld 《Kotin 编程思想·实战》
  7. 【李宏毅2020 ML/DL】P77 Generative Adversarial Network | Theory behind GAN
  8. 【Computer Organization笔记09】x86 / Pentium 指令系统,MIPS 指令系统,数据通路的设计,CPU设计思路
  9. 虚拟化--051 vsphere linux搭建NTP服务器搭建
  10. 基于Verilog实现呼吸灯