fsk.m

来自「交全面的给出了好几种调制解调方案的matlab代码,又ASK,BPSK,FSK,」· M 代码 · 共 28 行

M
28
字号
function [y,fs,fb,fc1,fc2]=fsk(x,Kbase,fs,fb,fc1,fc2);
%
% Usage:[y,fs,fb,fc1,fc2]=fsk(x,Kbase,fs,fb,fc1,fc2);BBI
% 2000;x代表二进制码流向量:参数Kbase=1表示不采用基带成形,=2则表示采用基带成形;fc1,fc2为载波频率,y为已调信号
if nargin<6;fc2=2.5; end;
if nargin<5; fc1=2; end;
if nargin<4; fb=1; end;
if nargin<3; fs=32; end;
if nargin<2; Kbase=1; end;
if nargin<1; x=[0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0]; end ;
T=length(x)/fb; m=fs/fb;
dt=1/fs; t=0:dt:T-dt;
xx=pulse(x,m,2);
if Kbase==2; xx=bshape(xx); end;
%Discontinuous-Phase FSK
y=(xx>=0).*sin(2*pi*fc1*t)+(xx<0).*sin(2*pi*fc2*t);
%-------------------------------------------------------------------
if nargout<1;
    subplot(211); plot(t,y,t,xx*.5,[0 T],[0 0],'b:');axis([0,12,-1,1]);
    title('Signal');
    n=length(y);y=fft(y)/n;y=abs(y(1:fix(n/2)))*2;
    I=find(y<1e-04);y(I)=1e-04;y=20*log10(y);
    f1=m/n;f=0:f1:(length(y)-1)*f1;
    subplot(212);plot(f,y,'r');grid on;
    title('Spectrum');xlabel('f/fb'); zoom xon;
    set(gcf,'num','off','name',['Discontinuous-Phase FSK','blanks(10)','BBI 2000']);
end;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?