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

📄 7-19.m

📁 matlab数字信号与应用源代码7
💻 M
字号:
%例程7-19   QPSK调制与解调
function modsymbols=qpsk(moduinput)
inputbits=moduinput;
full_len=length(inputbits);
table=exp(j*[-3/4*pi 3/4*pi 1/4*pi -1/4*pi]);        % 生成QPSK星座图
table=table([0 1 3 2]+1);
inmodu=reshape(inputbits,2,full_len/2);            % 把输入序列分成两路
modsymbols=table([2 1]*inmodu+1);              % 实现输入比特流的QPSK映射

%利用距离矢量判决解调QPSK的过程也可以由MATLAB程序说明如下:
function output_bits = deqpsk(input_symbols)
input=input_symbols;
d=zeros(4,length(input));                         % d是信道传输值与各星座点的距离  
m=zeros(1,length(input));
temp=[-1-j  -1+j  1-j   1+j]/sqrt(2);              % 对应 00 01 10 11 
for i=1:length(input)
    for n=1:4
        d(n,i)=(abs(input(i)*sqrt(2)-temp(n))).^2;    %求出传输值与星座图所有点的“距离”  
    end               
    [min_distance,constellation_point] = min(d(:,i));
    m(i) = constellation_point;
end 
A=de2bi([0:3],'left-msb');                         %对应于 A=[0 0;0 1;1 0;1 1]
for i=1:length(input)
    out(i,:)=A(m(i),:);                           % 最小值对应的星座点序号的二进制
end                                           % 表示即为解调结果
output_bits=reshape(out',1,length(input)*2);

⌨️ 快捷键说明

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