欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab 范德蒙德矩阵,matlab中fft与fwelch有什么区别?如何用fft求功率谱? -凯发k8官方网

发布时间:2024/10/12 循环神经网络 38 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 matlab 范德蒙德矩阵,matlab中fft与fwelch有什么区别?如何用fft求功率谱? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

讲这个话题,就要先搞清楚频谱、功率谱的概念,可参考我的另一篇文章

做信号处理的朋友应该都会fft比较熟悉,就是求傅里叶变换。我在这里也不再去讲这个函数了,但需要注意的一点:实信号的频谱关于0频对称,是偶函数,如果st = cos(2pif0*t) 1;  t的长度为4000,那么0频的位置在第一个点,做fftshift后,0频的位置在低2001个点的位置,fft后的信号关于第2001个点对称,而不是4000个点左右对称。

pwelch是用来求功率谱的,采用welch平均周期法对信号进行谱估计,它通过分段选取数据进行加窗求功率,再进行平均,pwelch函数的使用方式为:

pxx = pwelch(x,window,noverlap,nfft)

[pxx,f] = pwelch(x,window,noverlap,f,fs)

其中,

x表示输入序列;

window:当window是一个数值时,表示窗函数长度,即分段长度l,默认的窗函数为hamming窗;当window是一个序列时,表示窗函数序列;

nfft表示fft的点数,x为实数时,当nfft是偶数时,pxx的长度是(nfft/2 1);当nfft是奇数时,pxx的长度是(nfft 1)/2;x为复数时,pxx的长度就是nfft,如果nfft没有指定,则默认是256或者比x长度大的2的n次幂

fs 绘制功率谱曲线的采样频率,默认值为1

pxx表示功率谱估计值

f表示pxx值所对应的频率点

noverlap指定分段重叠的样本数 ,如果noverlap=l/2,则可得到重叠50%的welch法平均周期图

下面我们分别用fft和fwelch来求信号的功率谱。

clc;close all;clear all;

fs = 10e6;

n = 4000;

t = (0:n-1)/fs;

f0 = 1e5;

st = cos(2*pi*f0*t)   1;

st_fft = fft(st);

psdx = abs(st_fft(1:end/2 1)).^2/fs/n;  %功率谱密度为能量谱密度除以时间,摸值的平方即为能量谱

psdx(2:end) = 2*psdx(2:end);            %乘2是因为fft结果是对称的,在计算功率时需要把功率加回来;第一个点是0频,这个点并不对称

freq = linspace(0,fs/2,length(psdx));

[pxx,f] = pwelch(st,rectwin(n),32,n,fs);

figure;plot(freq,psdx);title('fft方法求功率谱密度');grid on

figure;plot(f,pxx);title('fwelch方法求功率谱密度');grid on

在这里插入图片描述

在这里插入图片描述

往期文章:

fpga相关:

其他:

fpga时序约束教程:

加信号处理技术交流群的朋友,请加微信:xhclsys2

欢迎关注微信公众号:

在这里插入图片描述

总结

以上是凯发k8官方网为你收集整理的matlab 范德蒙德矩阵,matlab中fft与fwelch有什么区别?如何用fft求功率谱?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图