How to create the time-frequency spectrogram of FSK

1 次查看(过去 30 天)
Hello....I'm new in this domain and i need some help...I had to generate a fsk signal and now I must do the spectrogram of that signal and I don'n know how...I understood that spectrogram is the function but I don't know how to implement it... here's the code:
N=1000; %numarul de esantioane
D=40; %durata unui simbol(in esantioane)
fc=0.05; %frecventa centrala pentru FSK
M=2; %numarul de stari
t=[0:N-1]';
nr_symb=ceil(N/D);
fd=.0125; %deplasarea in frecventa
depart=fc-(M/2-.5)*fd;
aux=depart+fd*floor(M*rand(nr_symb,1));
mod=kron(aux,ones(D,1));
mod=mod(1:N); %semnalul modulator
signal=cos(2*pi*mod.*t); %semnalul modulat (FSK binar)
figure(...
'units','normalized',...
'position',[.25 .5 .5 .35],...
'Name','Figura 1 - Semnal FSK binar',...
'NumberTitle','off');
subplot(311);
mod1=round(2*(mod-fc)/fd);
plot(mod1,'black');
axis([0 N min(mod1)-.2 max(mod1)+.2]);
set(gca,'box','off')
subplot(312);
plot(signal,'black');
axis([0 N min(signal)-.2 max(signal)+.2]);
set(gca,'box','off')
subplot(313);
densite=abs(fft(signal));
aux=densite(1:N/2);
densite(1:N/2)=densite(N/2+1:N);
densite(N/2+1:N)=aux;
densite=densite(401:600);
f=linspace(-.1,.1,200);
plot(f,densite,'black');
set(gca,'box','off');

回答(1 个)

William
William 2012-1-6
there is a library called "voicebox" full of functions for this kind of thing. it's free and I believe there is a spectrogram fucntion within it's contents

类别

Help CenterFile Exchange 中查找有关 Time-Frequency Analysis 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by