To find the frequency components in the data and make a frequency plot
조회 수: 4 (최근 30일)
이전 댓글 표시
I have a data which is a frequency modulated signal. I want to make a matlab code to find the frequency components in it using Fourier transform method and make a frequency plot? I tried fft(data(:,2)) but most of the time it is giving me wrong answers. I am attaching the data. The first column is time and the second column is the signal.
댓글 수: 0
채택된 답변
Birdman
2018년 1월 4일
Use the attached file with the following code:
filename='Test_Sample_edited.txt';
A=load(filename);
time=A(:,1);
signal=A(:,2);
h1=spectrum.welch;
set(h1,'Windowname','Hann');
Fs=1000;
set(h1,'OverlapPercent',66.7);
set(h1,'SegmentLength',2048);
myPsd=psd(h1,A(:,2)-mean(A(:,2)),'Fs',Fs)
semilogx(myPsd.Frequencies,myPsd.Data);xlabel('Frequency(rad/sec)');
댓글 수: 5
Birdman
2018년 1월 5일
It will work if you change the following line accordingly:
set(h1,'SegmentLength',2048);
For your initial data, it is 2048 but if other data is smaller than this, than you have to change the value to 1024 or 512, to a reasonable value.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!