BPSK Matlab仿真

(转载自:https://blog.csdn.net/baijingdong/article/details/25026147)

Matlab仿真与数字逻辑器件实现有一定的类似之处,都是对离散数字信号进行一定的处理。在用FPGA进行数字逻辑设计之前最好能用Matlab进行一些仿真,可以预估中间信号波形为设计做参考,亦可以对方案可行性做分析。

   BPSK原理较为简单,这里只上传代码

 

[plain]  view plain  copy
  1. fs=10000;  
  2. fc=1500;  
  3. a1=ones(1,10);  
  4. a0=zeros(1,10);  
  5. b=[a1,a1,a1,a1,a0,a0,a1,a1,a0,a1];%signal:[1 0 1 1 0 0 1 1 0 1]  
  6.   
  7. grid on;  
  8. N=20;  
  9. d=repmat(b,1,N);  
  10. c=2*d-1;  
  11. fun8=conv(c,Num);  
  12.   plot(fun8);  
  13.  axis([100 800 -2 2]);  
  14.    grid on ;   
  15.   
  16.  fft1=fft(c);  
  17. %plot(-fs/2+(0:N*100-1)*fs/(N*100),fftshift(abs(fft1)));  
  18.   
  19. cos1=cos(2*pi*fc/fs*[0:N*100-1]);  
  20. % plot(cos1);  
  21. % axis([1 100 -2 2]);  
  22. % grid on ;  
  23.  fun1=c.*cos1;  
  24. %   plot(fun1);  
  25. % axis([1 100 -2 2]);  
  26. %   grid on ;  
  27.  fun2=fun1.*cos1;  
  28. fft1=fft(fun1);  
  29. plot(-fs/2+(0:N*100-1)*fs/(N*100),fftshift(abs(fft1)));  
  30.   
  31.  fun3=conv(fun2,Num);  
  32. %   plot(fun3);  
  33. %  axis([500 800 -2 2]);  
  34. %    grid on ;   
  35.   
  36.   fun4=zeros(1,length(fun3));  
  37.  for  m=1:length(fun3)  
  38.    if fun3(m)>0  
  39.        fun4(m)=1;  
  40.    else  
  41.        fun4(m)=0;  
  42.    end  
  43.  end  
  44.  fun5= fun4(1:10:length(fun4));  
  45.  % stairs([1:10:length(fun5)*10],fun5);  
  46.       
  47.  % axis([1500 2000 -0.5 1.5]);  
  48.  %  grid on   

猜你喜欢

转载自blog.csdn.net/weixin_39878297/article/details/80233945
今日推荐