Matlab中短时傅里叶变换中一些函数变换步骤不明,求解释!

Matlab中短时傅里叶变换中一些函数变换步骤不明,求解释!,第1张

(1)matlab是按列储存的,当然可以使1256的了,不过需要自己设。傅里叶变化是对称变化,一般都要求数据个数是2的幂次。

(2)tfr对谁做fft变换,fft就和谁是同样大小的矩阵。

(3)上面说了,fft变换后的波谱是对称的,如果tfr是256的话,只需取256/2=128个就行。

(4)随机数组或原数据体中数据之间无关的话,那么变换后的振幅图和相位图都是上下波动的,密集线就是波动情况,密集程度与点距和线长有关。

用MATLAB 实现傅里叶变换:

用户任意输入一个函数,然后,输出函数的傅里叶变换函数,然后输出振幅频率 。

x=sin(2pit); %任意输入一个函数。

y=fft(x); %傅里叶变换函数。

plot(abs(y)); %振幅频率。

什么样的信号,频率范围是多少?是要用FFT滤波,还是用其他的方式?补充一下,如果是用FFT滤波的话:

对于给定的序列x(n),和采样频率fs等信息,先求其FFT频谱

y=abs(fft(x));

plot((1:length(x))fs/length(x),y);title('信号的频谱');xlabel('频率');

然后你大概确定一下,你需要滤除的频带,上面的图形中可以看出噪声的频带。

比如说,你想要滤除从f1~f2的噪声,最简单的方法就是在频域将这一段置零,

y(200:300)=0;

%这里我假设的是200到300这一段就是频率f1~f2的。这就是频率域滤波了,然后再反变换回去就行了

x=ifft(y);

%

信号滤波后重建

具体的如果设置参数,就要看你的信号的特征了。

我看兄台写的代码还是很专业的,我只回答第三问:窗函数肯定是不能任意选择的,加窗的意义在于减小频谱能量泄露,因为做傅里叶变换时只取信号的一段作分析,相当于将信号截断,在截段处引入了多余的高频分量,所以窗函数一般在两端是呈衰减的趋势,其次窗函数本身的频谱要比较平滑,不能对原信号的频谱带来太大影响,所以窗函数不能是任意的数字窗。

傅立叶变换只能对符号参数,不能对具体的实参。因此定义t的范围是不正确的。

可以这样写,syms a;

>> fourier(sin(a))

先定义符号参量a,在对sin(a) 进行傅立叶变化。

以上就是关于Matlab中短时傅里叶变换中一些函数变换步骤不明,求解释!全部的内容,包括:Matlab中短时傅里叶变换中一些函数变换步骤不明,求解释!、用matlab编程将下列方程组进行傅里叶变换,求解。、信号的傅里叶变换,matlab程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9493929.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存