⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bpsk.m

📁 对ASK调制解调进行了仿真,包括程序仿真和模型仿真
💻 M
字号:
function [y,Kmod,fs,fb,fc,rd]=bpsk(x,Kmod,Kbase,fs,fb,fc,rd);
if nargin<7; rd=0; end;
if nargin<6; fc=2; end;
if nargin<5; fb=1; end;
if nargin<4; fs=32; end;
if nargin<3; Kbase=1; end;
if nargin<2; Kmod=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;
Kmod=rem(Kmod,2); Kmod=Kmod+ (Kmod ==0) *2; rd=rem (rd,2);
Kbase=rem(Kbase,2); Kbase=Kbase+ (Kbase ==0) *2;
if Kmod == 1;
    x1 =1-x*2;   tstr='BPSK';
elseif Kmod ==2;
    x1=dcode (x,rd);
    x1=1-rem(x1,2) *2;
    tstr= ['DPSK(reference digit: int2str(rd) )'];
end;
if Kbase == 1; 
    y =pulse(x1, m,1).*sin(2*pi*fc*t);
elseif Kbase ==2;
    x2=pulse(x1, m); x2=bshape (x2); % fs ,fb ,N ,alfa);
    y=x2.*sin(2*pi*fc*t);
end;
I=find (abs(y)<1e-09 & [diff(y) 0]>0);
mm=fs/fc; I=rem(I,mm); I=I+(I ==0) *mm;
ph= (m-I+1) * 2 * pi /mm; ph=rem(ph,2*pi);
if nargout<1;
    subplot(211);
    if Kbase ==1; 
        plot( [t T],[y y(1)],t,pulse(x ,m,1) -.5, [0 T],[0 0],'b:');
    elseif Kbase==2;
        plot(  [t T],[y y(1)],t, -x2*.5, [0 T],[0 0],'b:');
        tstr=[tstr 'with the RC filer'];
    end; 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 (223); plot (f,y,'r'); grid on;
    title ('Spectrum'); xlabel('f/fb'); zoom xon;
    subplot (224);H=polar(ph,ones(size(ph)),'ro');
    set(H, 'markers',8, 'linew',2); xlabel('Phase');
    set (gcf, 'num', 'off','name',[tstr','blanks(10) ', 'BBI 2000']);
end;

⌨️ 快捷键说明

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