① 如何用MATLAB對電信號進行功率譜分析謝謝啦
取樣,FFT,平方
頻率解析度 fs/N
② matlab如何繪制功率譜
N=1024;
wn=randn(1,N);
Pxx=10*log10(abs(fft(wn).^2)/N);
f=(0:length(Pxx)-1)/length(Pxx)
figure(1);
plot(f,Pxx);
xlabel('頻率');
ylabel('功率(dB)');
title('周期圖法N=256')
grid on;
③ matlab怎麼繪制出功率譜
t=a(:,1);%%%%t是時間;
yt=a(:,2);%%%%yt是數據;
dt=t(2)-t(1);%%%%dt是點距;
lt=length(t);%%%%是數據的長度;
f0=2*pi/(lt*dt);%%%%f0是基頻;
fy=fft(yt);%%%%fy是fft變換得到的波譜;
for i=1:1:lt
f(i)=f0*(i-1);%%%%f是頻率;
P(i)=abs(fy(i))^2;%%%P是功率譜;
end
plot(f,P); %%%%畫圖;
f的單位是秒分之一。就是頻率。
P是沒有單位的,就是振幅大小。如果有那是yt單位的平方。
④ MATLAB工具箱有哪些作用
MATLAB附帶了很多工具箱(Toolbox),而且每次發布新版本時,工具箱幾乎都要增加版。按F1鍵打開MATLAB的「權Help」,在窗口左邊顯示了MATLAB所有的工具箱。
一般來說,每個工具箱針對一個具體的問題,如圖像處理工具箱(Image.Processing.Toolbox)專門針對數字圖像處理問題,偏微分方程工具箱(Partial.Differential.Equation.Toolbox)是偏微分方程(組)求解函數的集合。一個工具箱中包含若干函數。實際上,工具箱也是一個函數庫,在功能方面與MATLAB主體中的數值計算和數據可視化部分相同。
但有一點區別:主體部分的核心函數都是內置函數,是用C語言編寫並編譯過的;而工具箱中的函數都是基於MATLAB的二次開發,即用MATLAB語言寫的.m文件。用Editor打開這些文件,就可以看到源代碼。
⑤ 用matlab 實現函數的功率譜
n=0:0.1:200;%設定信號時間長度為0到200秒,采樣間隔0.1,則采樣頻率為10HZ,點數2001
y=sin(2*pi*0.2*n)+sin(2*0.213*n);
Y=fft(y);%FFT
Pyy=Y.*conj(Y)/2000;%信號功率譜
f=10*(0:1000)/2000;%計算橫軸頻率值
figure(1)
subplot(2,1,1),plot(n,y),title('信號'),xlabel('時間(S)')
subplot(2,1,2),plot(f,Pyy(1:1001)),title('信號功率譜'),xlabel('頻率(Hz)')
⑥ 用matlab實現功率譜
n=0:0.1:200;%設定信號時間長度為0到200秒,采樣間隔0.1,則采樣頻率為10HZ,點數2001
y=sin(2*pi*0.2*n)+sin(2*0.213*n);
Y=fft(y);%FFTPyy=Y.*conj(Y)/2000;%信號功率譜f=10*(0:1000)/2000;%計算橫軸頻率值figure(1)subplot(2,1,1),plot(n,y),title('信號'),xlabel('時間(S)')subplot(2,1,2),plot(f,Pyy(1:1001)),title('信號功率譜'),xlabel('頻率(Hz)')
請採納答案,支持我一下。
⑦ matlab里進行功率譜計算和繪圖的命令是怎樣的
load('路徑\文件名.txt')
signal=文件名;
fft_signal = fft(signal);
power_spectrum_signal = abs(fft_signal^2)/length(signal);
plot(power_spectrum_signal);
創建一個.m文件,把上面的程序復制到m文件里,然後修改路徑和文件名就可以了。還不懂就發消息給我,我把程序傳給你
⑧ matlab里有什麼工具箱,可以用FFT(快速傅立葉變換)做頻譜分析
1、采樣數據導入Matlab 。
采樣數據的導入至少有三種方法。
第一就是手動將數據整理成Matlab支持的格式,這種方法僅適用於數據量比較小的采樣。
第二種方法是使用Matlab的可視化交互操作,具體操作步驟為:File --> Import Data,然後在彈出的對話框中找到保存采樣數據的文件,根據提示一步一步即可將數據導入。這種方法適合於數據量較大,但又不是太大的數據。
第三種方法,使用文件讀入命令。數據文件讀入命令有textread、fscanf、load等,如采樣數據保存在txt文件中,則推薦使用 textread命令。如[a,b]=textread('data.txt','%f%*f%f'); 這條命令將data.txt中保存的數據三個三個分組,將每組的第一個數據送給列向量a,第三個數送給列向量b,第二個數據丟棄。命令類似於C語言,詳細可查看其幫助文件。文件讀入命令錄入采樣數據可以處理任意大小的數據量,且錄入速度相當快,一百多萬的數據不到20秒即可錄入。
2、對采樣數據進行頻譜分析 。
頻譜分析自然要使用快速傅里葉變換FFT了,對應的命令即 fft ,簡單使用方法為:Y=fft(b,N),其中b即是采樣數據,N為fft數據采樣個數。一般不指定N,即簡化為Y=fft(b)。Y即為FFT變換後得到的結果,與b的元素數相等,為復數。以頻率為橫坐標,Y數組每個元素的幅值為縱坐標,畫圖即得數據b的幅頻特性;以頻率為橫坐標,Y數組每個元素的角度為縱坐標,畫圖即得數據b的相頻特性。典型頻譜分析M程序舉例如下: clc fs=100;
t=[0:1/fs:100];
N=length(t)-1;%減1使N為偶數 %頻率解析度F=1/t=fs/N
p=1.3*sin(0.48*2*pi*t)+2.1*sin(0.52*2*pi*t)+1.1*sin(0.53*2*pi*t)... +0.5*sin(1.8*2*pi*t)+0.9*sin(2.2*2*pi*t);
%上面模擬對信號進行采樣,得到采樣數據p,下面對p進行頻譜分析
figure(1) plot(t,p); grid on
title('信號 p(t)'); xlabel('t') ylabel('p') Y=fft(p);
magY=abs(Y(1:1:N/2))*2/N; f=(0:N/2-1)'*fs/N; figure(2)
%plot(f,magY);
h=stem(f,magY,'fill','--');
set(h,'MarkerEdgeColor','red','Marker','*') grid on
title('頻譜圖 (理想值:[0.48Hz,1.3]、[0.52Hz,2.1]、[0.53Hz,1.1]、[1.8Hz,0.5]、[2.2Hz,0.9]) '); xlabel('f (Hz)') ylabel('幅值')
對於現實中的情況,采樣頻率fs一般都是由采樣儀器決定的,即fs為一個給定的常數;另一方面,為了獲得一定精度的頻譜,對頻率解析度F有一個人為的規定,一般要求F<0.01,即采樣時間ts>100秒;由采樣時間ts和采樣頻率fs即可決定采樣數據量,即采樣總點數N=fs*ts。這就從理論上對采樣時間ts和采樣總點數N提出了要求,以保證頻譜分析的精準度。