数字通信QAM调制及其MATLAB仿真程序.doc

上传人:wj 文档编号:4897089 上传时间:2023-05-07 格式:DOC 页数:4 大小:37KB
下载 相关 举报
数字通信QAM调制及其MATLAB仿真程序.doc_第1页
第1页 / 共4页
数字通信QAM调制及其MATLAB仿真程序.doc_第2页
第2页 / 共4页
数字通信QAM调制及其MATLAB仿真程序.doc_第3页
第3页 / 共4页
数字通信QAM调制及其MATLAB仿真程序.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字通信QAM调制及其MATLAB仿真程序.doc

《数字通信QAM调制及其MATLAB仿真程序.doc》由会员分享,可在线阅读,更多相关《数字通信QAM调制及其MATLAB仿真程序.doc(4页珍藏版)》请在冰点文库上搜索。

数字通信QAM调制及其MATLAB仿真程序.doc

数字通信QAM调制及其MATLAB仿真程序

1.%数字通信QAM仿真

2.clear

3.%产生基带符号流

4.M=16;    %进制16QAM

5.N=40;    %信源比特流长度,为保证对齐,选择是log2(M)的整倍数

6.bitstream=zeros(1,N);

7.symbolstream=zeros(1,N/log2(M));

8.forn1=1:

N

9.  bitstream(n1)=binornd(1,0.5,1,1);

10.end

11.%格雷码编码

12.forn1=1:

length(symbolstream)

13.  pack=[bitstream(4*(n1-1)+1)bitstream(4*(n1-1)+2)bitstream(4*(n1-1)+3)bitstream(4*(n1-1)+4)];

14.  if  pack==[0000]

15.      symbolstream(n1)=1+j;

16.  elseif  pack==[0010]

17.      symbolstream(n1)=2+j;

18.  elseif  pack==[0011]

19.      symbolstream(n1)=2+2j;

20.  elseif  pack==[0001]

21.      symbolstream(n1)=1+2j;

22.  elseif  pack==[0101]

23.      symbolstream(n1)=-1+2j;

24.  elseif  pack==[0100]

25.      symbolstream(n1)=-1+j;

26.  elseif  pack==[0111]

27.      symbolstream(n1)=-2+2j;

28.  elseif  pack==[0110]

29.      symbolstream(n1)=-2+j;

30.  elseif  pack==[1110]

31.      symbolstream(n1)=-2-j;

32.  elseif  pack==[1111]

33.      symbolstream(n1)=-2-2j;

34.  elseif  pack==[1101]

35.      symbolstream(n1)=-1-2j;

36.  elseif  pack==[1100]

37.      symbolstream(n1)=-1-j;

38.  elseif  pack==[1000]

39.      symbolstream(n1)=1-j;

40.  elseif  pack==[1010]

41.      symbolstream(n1)=2-j;

42.  elseif  pack==[1001]

43.      symbolstream(n1)=1-2j;

44.  elsesymbolstream(n1)=2-2j;

45.  end

46.end

47.figure

(1)

48.holdon

49.forn1=-2:

2

50.  forn2=-2:

2

51.      if~((n1==0)|(n2==0))

52.        scatter(n1,n2);

53.      end

54.  end

55.end

56.axis([-33-33]);

57.holdoff

58.title('16QAM星座图');

59.xlabel('同相支路')

60.ylabel('正交支路')

61.%产生载波

62.fc=10;        %载波频率

63.fs=100;      %采样频率

64.T=1;        %每符号持续时间

65.N_samples=T*fs;  %每符号内的采样点数

66.t=0:

T/N_samples:

(T-T/N_samples);

67.carrier=exp(j*2*pi*fc*t);

68.%产生信号脉冲g(t)

69.%gt=ones(1,length(carrier));

70.gt=1-cos(2*pi*(1/T)*t);

71.

72.%生成调制信号S(t)

73.St_complex=zeros(1,length(carrier)*length(symbolstream));

74.forn1=1:

length(symbolstream)

75.  St_complex((N_samples*(n1-1)+1):

(N_samples*(n1-1)+N_samples))=(symbolstream(n1)*carrier).*gt;

76.end

77.figure

(2)

78.St_real=real(St_complex);

79.plot(St_real)

80.title('QAM仿真波形图载波10Hzg(t)为升余弦脉冲');

81.xlabel('采样点')

82.ylabel('幅度')

83.%求出功率谱,这种功率谱不是按照公式直接计算的,而是对所产生的一段时间内的信号的采样点进行FFT所得到的

84.spectrum=(real(fft(St_real,10*length(St_real)))).^2;

85.S_spectrum=spectrum(1:

length(spectrum)/2);

86.figure(3)

87.F=0:

fs/(2*length(S_spectrum)):

fs/2-fs/(2*length(S_spectrum));

88.plot(F,10*log10(S_spectrum))

89.axis([050-7060]);

90.title('QAM信号功率谱密度')

91.xlabel('频率/Hz')

92.ylabel('功率')

93.figure(4)

94.index=400:

1600;

95.plot(F(index),10*log10(S_spectrum(index)));

96.axis([416060]);

97.title('QAM信号功率谱密度在载频附近的放大图')

98.xlabel('频率/Hz')

99.ylabel('功率')

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2