在MATLAB中用傅里叶算法求取一组离散的数据的基波分量 怎么求? 如何使用Matlab,对一组数据进行FFT变换,求得基波分量...

MATLAB\u4e2d\u7528\u5085\u91cc\u53f6\u7b97\u6cd5\u6c42\u53d6\u79bb\u6563\u6570\u636e\u7684\u57fa\u6ce2\u5206\u91cf\u600e\u4e48\u6c42\uff1f

\u4e0d\u7528matlab,\u7528excel\u5c31\u53ef\u4ee5\u4e86.\u6700\u597d\u7528origin6.0,\u5982\u679c\u4e0d\u4f1a\u5206\u6790,\u53d1\u8fc7\u6765\u7ed9\u6211.\u6211\u5e2e\u4f60.\u4e0d\u4f46\u53ef\u4ee5\u628a\u57fa\u6ce2\u7b97\u51fa\u6765\u8fd8\u53ef\u4ee5\u628a\u76f4\u6d41\u6210\u5206\u548c\u5404\u8c10\u6ce2\u6210\u5206\u7b97\u51fa\u6765.

x = load('data.dat'); %load \u6570\u636e
fs=10000; % \u91c7\u6837\u9891\u7387\uff0c\u81ea\u5df1\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8bbe\u7f6e
N=length(x); % x \u662f\u5f85\u5206\u6790\u7684\u6570\u636e
n=1:N;
%1-FFT
X=fft(x); % FFT
X=X(1:N/2);
Xabs=abs(X);
Xabs(1) = 0; %\u76f4\u6d41\u5206\u91cf\u7f6e0
for i= 1 : m
[Amax,index]=max(Xabs);
if(Xabs(index-1) > Xabs(index+1))
a1 = Xabs(index-1) / Xabs(index);
r1 = 1/(1+a1);
k01 = index -1;
else
a1 = Xabs(index) / Xabs(index+1);
r1 = 1/(1+a1);
k01 = index;
end
Fn = (k01+r1-1)*fs/N; %\u57fa\u6ce2\u9891\u7387
An = 2*pi*r1*Xabs(k01)/(N*sin(r1*pi)); %\u57fa\u6ce2\u5e45\u503c
Pn = phase(X(k01))-pi*r1; %\u57fa\u6ce2\u76f8\u89d2 \u5355\u4f4d\u5f27\u5ea6
Pn = mod(Pn(1),pi);
end

matlab的安装过程有一个选项,就是安装帮助文档,一般都有。你在帮助菜单里面调出来看看就知道filter函数怎么用了。

这种编程问题都可以通过察看文档解决的。

  • Matlab鎬庝箞瀵逛竴涓俊鍙疯繘琛鍌呴噷鍙鍙樻崲?
    绛旓細鎴戜箣鍓嶉亣鍒扮殑涓涓棶棰 鐪嬬湅鏄惁瀵逛綘鏈夊府鍔 淇″彿涓 y(t)=sin(2*pi*t), 閲囨牱鍖洪棿涓 0鍒1绉 閲囨牱棰戠巼 100 (褰撻噰鏍烽棿闅旈潪甯稿皬鏃,鍏跺疄灏辩瓑鍚屼簬杩炵画浜,绫讳技浜庣Н鍒嗙殑鎬濇兂) 浠g爜濡備笅:f=100;t=[0:1/f:1] %鏃堕棿鍖洪棿 闂撮殧涓0.01 t=n/f;x=sin(2*pi*t);y=fft(x,f*1+1);p...
  • 鍦╩atlab涓鍒╃敤鍌呴噷鍙鎻忚堪瀛愬钩婊戣竟缂,姹傜▼搴忋傚浘鐗囧涓
    绛旓細绋嬪簭鍔熻兘锛氬皢杞粨鏁版嵁杩涜鍌呯珛鍙鍒嗚В锛屽緱鍒扮郴鏁 杈撳叆鍙橀噺锛歴 鐩爣杞粨鍧愭爣搴忓垪 杈撳嚭鍙橀噺锛歾 鍌呯珛鍙剁郴鏁 娉ㄦ剰锛宻鏄潗鏍囧簭鍒楋紝鎵浠ヤ竴瀹氭槸涓涓袱鍒楃殑鐭╅樀锛屼綘璋冪敤杩欎釜鍑芥暟鏃剁殑鍙橀噺b鏄粈涔堬紵濡傛灉鏄浘鍍忔暟鎹紝棣栧厛搴斿皢鍏惰繘琛岃竟缂樻彁鍙栵紝寰楀埌鍖呯粶鏁版嵁淇℃伅銆
  • Matlab涓濡備綍瀵逛俊鍙疯繘琛鍌呴噷鍙鍙樻崲,婊ら櫎鍩烘尝鍚庡啀杩涜鍙嶅倕閲屽彾鍙樻崲?
    绛旓細鎮ㄥソ锛丮ATLAB涓彲浠ヤ娇鐢‵FT瀵逛俊鍙疯繘琛鍌呴噷鍙鍙樺寲锛屽亣璁炬椂鍩熶俊鍙蜂负a锛坣锛,鍒欏倕閲屽彾鍙樻崲鐨勮繃绋嬪氨鏄痜锛坣锛=fft锛坅锛坣锛夛級锛屾偍鎵璇寸殑鍩烘尝锛屽簲璇ユ槸杞芥尝鐨勬剰鎬濆惂锛屾瘮濡傛垜浠彂灏勪竴涓皬鑳介噺淇″彿锛岄渶瑕佷竴涓珮棰戠殑杞芥尝浣滀负杞戒綋锛屼竴鑸潵璇磋浇娉㈤兘鏄珮棰戜俊鍙凤紝鎵浠鐢╩atlab涓鐨刦datool浜х敓涓涓綆閫氱殑婊ゆ尝鍣紝閫氬甫...
  • 缁欏嚭绂绘暎鐨鐐瑰浣鐢╩atlab姹傚倕閲屽彾棰戣氨
    绛旓細鍏跺熀鏈濇兂鏄浣跨敤鍌呯珛鍙鍙樻崲FFT锛岀劧鍚庣粯鍒剁殑鍏夎氨锛屾槸棰戠巼鍦ㄨ鏋佸笺備緥濡傦紝涓嬮潰鐨勪緥瀛愪腑锛屼竴涓22Hz涓虹殑淇″彿銆傦紖浜х敓 sampling_rate = 100鏃舵寚鏁;T1 = 0鏃01鍒/ sampling_rate :3-1 / sampling_rate;T2 = 3 +1 / sampling_rate锛1/sampling_rate 锛6;鍚= [T1 T2];锛呯‘瀹氳緭鍏ヤ俊鍙 F1 = 2...
  • matlab 瀵规暟鎹繘琛鍌呴噷鍙鍙樻崲
    绛旓細matlab涓敤fft(x)姹傚簭鍒梮鐨鍌呴噷鍙鍙樻崲
  • 鍒濆鑰,姹傛暀鍦╩atlab涓瀹炵幇淇″彿鐨鍌呴噷鍙姝,閫嗗彉鎹㈠浣曠紪绋嬪簭,闈炲父鎰 ...
    绛旓細m=0,1鈥-1 n=0,1鈥-1锛3锛塅锛坧,q锛夌О涓篺锛坢,n锛夌殑绂绘暎鍌呯珛鍙鍙樻崲绯绘暟銆傝繖涓紡瀛愯〃鏄庯紝鍑芥暟f锛坢,n锛夊彲浠ョ敤鏃犳暟涓笉鍚岄鐜囩殑澶嶆寚鏁颁俊鍙峰拰琛ㄧず锛岃屽湪棰戠巼锛坵1锛寃2锛夊鐨勫鎸囨暟淇″彿鐨勫箙搴﹀拰鐩镐綅鏄疐锛坵1锛寃2锛夈2銆MATLAB鎻愪緵鐨勫揩閫熷倕绔嬪彾鍙樻崲鍑芥暟 锛1锛塮ft2 fft2鍑芥暟鐢ㄤ簬璁$畻浜岀淮蹇...
  • 濡備綍鐢∕atlab瀵瑰澶栨俯搴︽尝杩涜鍌呴噷鍙绾ф暟鎷熷悎,闃舵鍙互浠绘剰璁惧畾,姹俶at...
    绛旓細鐢∕atlab瀵瑰澶栨俯搴︽尝杩涜鍌呴噷鍙绾ф暟鎷熷悎鍙互杩欐牱鏉ュ鐞嗐1銆侀鍏堬紝寤虹珛鑷畾涔夊嚱鏁帮紝鏈夊叧鍌呴噷鍙剁骇鏁扮殑鍑芥暟琛ㄨ揪寮 function y=func(a,n,x) %a鈥斺旀嫙鍚堢郴鏁帮紝n鈥斺旈樁鏁帮紝x鈥斺旇嚜鍙橀噺 y=鍌呴噷鍙剁骇鏁扮殑鍑芥暟琛ㄨ揪寮 end 2銆佸繀椤绘湁x銆亂瀵瑰簲鐨勬暟鎹紙鍗佺粍浠ヤ笂锛3銆佺敤鎷熷悎鍑芥暟nlinfit锛堬級姹傛嫙鍚堢郴鏁 [...
  • matlab姹fft鐨勫浘褰㈡椂,f=(0:length(y)-1)'*119/length(y);鏄粈涔堟剰鎬...
    绛旓細f=(0:length(y)-1)'*119/length(y);浣滅敤鏄鐜囪浆鎹紝濡傛灉鐩存帴plot(fft(x))灏变笉鑳界湅鍒拌繖涓尝褰㈡槸鐢辨湁鍝嚑涓浐鏈夐鐜囩殑绠璋愭尝閲嶅彔鑰屾垚鐨勶紝閫氬父闇瑕佽繘琛岄鐜囪浆鎹
  • 鎬庝箞鐢╩atlab瀵圭ず娉㈠櫒娉㈠舰杩涜鍌呴噷鍙鍒嗘瀽
    绛旓細寤虹珛涓涓猻imulink鏂囦欢锛屼竴涓緭鍏ュ拰涓涓ず娉㈠櫒锛岃繕鏈変竴涓猵owergui妯″潡锛宲owergui妯″潡鏄繘琛岀數瀛﹀垎鏋愮殑涓涓緢閲嶈鐨勬ā鍧楋紝閲岄潰鍙互杩涜娼祦璁$畻锛孯LC鍒嗘瀽锛鍌呴噷鍙鍒嗘瀽绛夈
  • 鍦╩atlab濡備綍瀵规尝褰㈣繘琛鍌呴噷鍙鍒嗘瀽
    绛旓細涓缁鍌呯珛鍙鍙樻崲鐢╢ft()鍑芥暟锛屽弽鍙樻崲鐢╥fft()鍑芥暟 浜岀淮鍌呯珛鍙跺彉鎹㈢敤fft2()鍑芥暟锛屽弽鍙樻崲鐢╥fft2()鍑芥暟
  • 扩展阅读:matlab fourier ... matlab 傅里叶分析 ... matlab方波傅里叶变换 ... matlab app做傅里叶变换 ... 傅里叶变换matlab命令 ... 傅里叶变换matlab 函数 ... 傅里叶频谱图matlab ... matlab怎么求傅里叶级数 ... matlab求傅里叶展开 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网