MATLAB中的FFT的采样频率和采样点和采样频率怎样确定

MATLAB中FFT函数理解_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
MATLAB中FFT函数理解
&&matlab中对于FFT函数的理解和实际应用
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩2页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢网站已改版,请使用新地址访问:
fftfenxi 本文通过matlab分析信号在不同采样频率和变换点数的FFT下的频谱图,研究
238万源代码下载-
&文件名称: fftfenxi
& & & & &&]
&&所属分类:
&&开发工具: matlab
&&文件大小: 133 KB
&&上传时间:
&&下载次数: 32
&&提 供 者:
&详细说明:本文通过matlab分析信号在不同采样频率和变换点数的FFT下的频谱图,研究采样频率和变换点数对信号FFT的影响。同时还讨论了信号在不同频带噪声背景下的采样频率和变换点数的选择。-In this paper, matlab sampling frequency of the signal at different points in the FFT and transform under the frequency spectrum, change the sampling frequency and FFT of the signal points. Also discussed the noise signal in the context of different frequency bands and transform points sampling frequency selection.
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&fftfenxi.doc
&[]:不是源代码或资料
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
此为2007年全国大学生电子设计大赛A题音频信号分析仪的源代码,其最主要的特点是采用FFT算法在MSP430中实现音频频谱的分析
&[] - Rapport de Projet Final
Projet VANET
&[] - IrisFx is another forex robot from the guys over at FX-Emit with a 200
gain from the beginning of December 2010 till now. Problem is their track reco
&[] - 采样率转换程序。可以任意转换不同采样率的音频信号。程序中有注释。
&[] - 对信号进行过采样,可以调节P的数值改变过采样的倍数,一般取P=4就可以实现基本不失真。
&[] - 对一个模拟信号进行fft变换,并求出其幅值图和相位图,对于fft初学者会有一定的用途采集到离散信号点,在matlab中进行FFT变换时采样点数怎么取,直接从采集到的数据里取点吗?
采集到离散信号点,在matlab中进行FFT变换时采样点数怎么取,直接从采集到的数据里取点吗?还有就是采样频率是不是采集离散信号时时间间隔的倒数?采样点数越多越好吗?
采样点数可以采用N= length(x);来取,x是采样数据;采样频率fs = 1/Ts 即采样时间的倒数,也就是你说的采样信号中两个数据点的时间间隔的倒数;采样频率一定时,采样点数越多越好,换种话说就是采样时间越长越好,这样fs/N就越小,也就是频域的频率分辨率越大,FFT结果就越准确,最好是2的整数次幂,可以加快FFT运算;当然,实际应用时,由于受内存计算等的要求,采样点数满足FFT计算的一定精度要求就行了,不必太多. 再问: 那这个采样点数可不可以比采样数据点多呢?对FFT结果有什么影响吗,谢谢 再答: 采样点数就是采样数据点吧,只是你FFT运算的时候可以适当补零,或者取其中一部分运算; 补零可以使N满足2的整数次幂,可以增加频谱谱线的光滑性,但不能太多
与《采集到离散信号点,在matlab中进行FFT变换时采样点数怎么取,直接从采集到的数据里取点吗?》相关的作业问题
fft是一维傅里叶变换,即将时域信号转换为频域信号fftshift是针对频域的,将FFT的DC分量移到频谱中心\x0d即对频域的图像,(假设用一条水平线和一条垂直线将频谱图分成四块)对这四块进行对角线的交换与反对角线的交换FFTSHIFT Shift zero-frequency component to center
向下的气流沉默无阻这种协调被称为手眼力,因为手满足了贪婪眼睛的任何欲如果它想要某一点在这儿,是微哈哈小的裂缝只在圆木的一端可
问题1:通常所讲的采样时间间隔与采样频率是有倒数关系的,即Ts=1/fs;所以你说的fs=1e5是对的.问题2:MATLAB中的fft函数的两种使用方法,都是用一般数字信号处理教材上所讲的基2的Cooley-Tukey FFT算法,区别是后者指定了FFT的点数,我们知道对于基2的FFT,当采样点数为2的幂次时,精度更高
x=0:pi/20:pi0表示开始的坐标范围;pi/20,表示步长;2*pi表示坐标的上限.即在(0,2π)之间以步长π/20生成正弦函数图像.
假设你要标红点处的坐标是x,y,用plot函数:plot(x,y,'r.','MarkerSize',20)其中字符r设置标记的颜色为红色,字符.设置标记的形状为圆点.'MarkerSize',20设置标记点的大小为20磅
为什么不把k1和k2的值给出呢?要计算符号值是吧,a和b也是任意的?试试这样:函数:function y=funsum(a,b)syms k1 k2y=((355.4*k1*a+360.6*(1-a)*k2-b)/b)^2;------------------------------------------------
一般去随机数,但很多都是局部收敛的,需要给出初值比较接近实际解.只能参考其他类似的 再问: 嗯,谢谢,你说的意思我大概懂了,但有的系数不好算啊,比如你看下我在补充里的程序,有5个系数,怎么算呢?是列5个方程解的吗? 再答: 不一定都得算,你的程序呢 或者函数表达式呢? 就是尽量采用最简单的方法求出大约值就可以, 比如看
这个函数的初始值取所求值附近就可以,这个函数就是有这个缺点,你选择不同的初始值往往得到的结果不一样.
我没有搞懂你的意思,这个输入normcdf必须是数值型啊,除非你用一下符号转数值.
/>newff中的指的是隐层、输出层神经元数,不用指出输入层神经元个数,你建立是建立了一个8-8-3的网络.数据o的一个维是一个样本的话,输入神经网络的数据应该转置下变成列向量,即以列为一个样本.
[x,fs,bite]=wavread('C:\WINDOWS\Media\Windows XP 启动.wav',[]);z=x(:,1);y=fft(z);Y=fftshift(X);sound(x,fs,bite);subplot(2,1,1);plot(abs(Y));将零频分量移至频谱中心的函
syms SA Tab Tac thetaeq1=SA^2+1-2*SA*cos(pi/2-theta)-(SA+340*Tac)^2;eq2=SA^2+1-2*SA*cos(theta)-(SA+340*Tab)^2;theta = 0:0.01:pi/2;两个方程、四个变量,你想求什么?
取t的采样点t = 1:0.001:10;y = sin(2*pi*50*t);就保存到y里面了上面那句t = a:delta:b用封号相隔表示a到b之间以Delta为间隔取值这么高分. 再问: 就这样就Ok了?我要是想把里面的变量保存到一个mat文件怎么弄? 再答: save('filename.mat','bian
laplace比如syms tlaplace(t^5)
f1,tf2]=zp2tf([],[-0.1,-0.2,-0.5],0.01);&& h=tf(tf1,tf2)Transfer function:0.01-----------------------------s^3 + 0.8 s^2 + 0.17 s + 0.01&& hd=c2d(h,
这样就好了,是曲面.clear[x,y] = meshgrid(0:0.01:1); z=x+y; if x=0.5z = x-3*x-y+x.*y; end mesh(x,y,z);
下个mpt工具箱里面的mpt_voronoi可以实现你的要求MPT_VORONOI Computes the voronoi diagram via mpLP[Pn]=mpt_voronoi(points,Options)-------------------------------------------------
最大值所在的Bin:max_index=max(ans)该Bin代表的是基频的频率:Ffund=max_index*FsamplingRate/NumberOfSamples
太大或者太小的数想准确计算的话,用sym类型来计算.>> sym(3)^34 ans = 66569只不过需要注意的是结果也是sym类型,必要时需转换成double类型.>> double(ans)ans = 1.657e+016 至于为什么算出是首先对于FFT来说,输入的信号是一个按一定采样频率获得的信号序列,而输出是每个采样点对应的频率的幅度(能量)。
下面详细分析:
在FFT的输出数据中,第一个值是直流分量的振幅(这样对应周期有无穷的可能性),而第2个对应第一个采样点,第3个对应第二个...第n个对应第n-1个采样点。而且这些采样点是有对称的关系的,即:X(i) = X(n-i)。所以只需要关注前N/2个采样点就可以了,而每个采样点与频率的关系有下面公式给出:Fn = (n-1)*Fs/N, Fs采样频率;Fn频率;n采样点;N采样总数
同时得到信号周期:Tn = N/((n-1)*Fs)
我们借助这个公式我们来分析一下采样频率与采样点对输出频率分辨率的影响,很明显Fs(频率采样率)越低,N(采样点)越多输出频率分辨率越高,这样我们考虑到时域,频率分辨率越高,时间分辨率反而越低。。。
下面看两个例子:
&& A = [1,2,1,2,1,2];&& fft(A)
这里第一个点的频率为0,对应的数字是9,序列A很可能没有周期,还有一个可能是-3对应的周期,-3对应采样点为n=4,默认Fs=1,所以周期为T = 6/(3*1) = 2;
Fn = 5;N = 300;Fs = 40;t = [0:1/Fs:N/Fs];S = cos(2*pi*Fn*t);abs(fft(S));plot(abs(fft(S)));
这里信号频率为:Fn = 5。我们通过计算当n=37.5是对应的频率为5。
但是运行上面的程序,在n=39对应的采样点处得到峰值(峰值对应原信号的频率),这里不准确是由于频率分辨率的精度的问题,可以通过改变Fs或者N来解决这个问题。
阅读(...) 评论()查看: 11857|回复: 22|关注: 0
fft变换采样点数的影响
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
我想利用fft做傅里叶变换,采样点数N一般取2的整数次幂,我取2^10后,做出来的频谱幅值为什么和以前的幅值对不上???取N=1000就可以对上?
fs=50;%采样频率
N=2^10; %采样点数
y=cos(10*pi*t)+5*cos(20*pi*t)+10*cos(30*pi*t);
figure(1);
subplot(211);
plot(t,y);%绘出信号的时域波形
xlabel('时间/t');
ylabel('幅值');
title('信号的时域波形');
yfft=fft(y,N);& & & & & & & & %进行fft变换,变换出来的是全谱
yamp=abs(yfft(1:N/2))*2/N;& & & &
f=n*fs/N;& & & & & & & & & & & &&&%进行对应的频率转换
subplot(212);
plot(f(1:N/2),yamp);& & & & & & & & %绘出频谱图
xlabel('频率/Hz');
ylabel('幅值');
title('信号频谱图');
图中5,10,15Hz对应的幅值都没达到1,5,10啊
论坛优秀回答者
关注者: 24
由非整周期采样导致的频谱泄露造成,50Hz采样,信号是整频,所以1000是整周期采样;而2^10,1024不是整周期采样,所以存在幅值误差
<h1 style="color:# 麦片财富积分
也就是栅栏效应,对吗?我刚看到宋老师一篇很不错的帖子,里面有解释。
论坛优秀回答者
关注者: 24
本帖最后由 倔强的笨蛋 于
14:45 编辑
也就是栅栏效应,对吗?我刚看到宋老师一篇很不错的帖子,里面有解释。 ...
不是的,你这个是频谱泄露,是数据截断加窗造成的,而栅栏效应是由频率分辨率造成的,你可以这样理解,用最小刻度为1m的尺子去测1cm;所以两者不是一回事的,下回记得点回复我,要不我收不到。
栅栏效应:
在进行DFT的过程中,最后需要对信号的频谱进行采样。经过这种采样所显示出来的频谱仅在各采样点上,而不在此类点上的频谱都显示不出来,即使在其他点上有重要的峰值也会被忽略,这就是栅栏效应。这一效应对于周期信号尤为重要,因其频谱是离散的,如处理不当这些离散谱线可能不被显示。
在对周期信号DFT处理时,解决栅栏效应应以致解决泄露效应的一个极为有效的措施是所谓“整周期截取”。
而对于非周期信号,如果希望减小栅栏效应的影响,尽可能多地观察到谱线,则需要提高频谱的分辨率。频谱的分辨率等于处理信号的时间长度的倒数,即栅栏效应
<h1 style="color:# 麦片财富积分
不是的,你这个是频谱泄露,是数据截断加窗造成的,而栅栏效应是由频率分辨率造成的,你可以这样理解,用 ...
频谱泄露应该是本来我的基频只有5,10,15Hz,但是fft后这些基频附近的很近的值依然有幅值吧。频率分辨率是& &&&采样频率/采样点数, 如果& &基频/采样频率& &不是整数,那么在基频位置肯定是没有谱线的,而是基频旁边的谱线,肯定是无法得到对应的准确幅值的吧?
<h1 style="color:# 麦片财富积分
不是的,你这个是频谱泄露,是数据截断加窗造成的,而栅栏效应是由频率分辨率造成的,你可以这样理解,用 ...
你看这个图我用stem画的,在基频附近的很多谱线都有幅值,这个才是泄露的吧
论坛优秀回答者
关注者: 24
频谱泄露应该是本来我的基频只有5,10,15Hz,但是fft后这些基频附近的很近的值依然有幅值吧。频率分辨率是 ...
这两个你一起理解就行,好好理解下概念,你画的图是频谱泄露,你问的问题不也是这种情况吗?
论坛优秀回答者
关注者: 24
频谱泄露应该是本来我的基频只有5,10,15Hz,但是fft后这些基频附近的很近的值依然有幅值吧。频率分辨率是 ...
这两个你一起理解就行,好好理解下概念,你画的图是频谱泄露,你问的问题不也是这种情况吗?所谓幅值比原来小就是这样的
<h1 style="color:# 麦片财富积分
这两个你一起理解就行,好好理解下概念,你画的图是频谱泄露,你问的问题不也是这种情况吗?所谓幅值比原 ...
恩,有道理。由于分辨率取值原因,导致无法再基频得到准确得幅值,而基频周围的点出现幅值,也就是说频露泄露。 谢谢你啦:handshake
论坛优秀回答者
关注者: 24
本帖最后由 倔强的笨蛋 于
19:49 编辑
恩,有道理。由于分辨率取值原因,导致无法再基频得到准确得幅值,而基频周围的点出现幅值,也就是说频露 ...
其实这取决算法,做这个的时候采用了周期延拓的方法,如果你不是整周期自然延拓的不能看成周期信号,而非周期信号的频谱就不是单一频点了,所依也就是说的泄露。如果想深入研究可以看下《离散频谱分析校正理论与技术》,个人感觉这本书关于这方面讲的不错,如果问题解决了也欢迎选择最佳答案,谢谢
站长推荐 /2
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区

我要回帖

更多关于 采样频率的确定 的文章

 

随机推荐