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

📄 qam.m

📁 这是有关matlab结课作业
💻 M
字号:
fb=16;
fc=16;
fs=512;
nn=16;
%msg=randint(nn,1);
msg=[1 1 0 1 0 1 0 0 1 1 0 1 0 0 1 1]; 
msg1=msg*2-1;
a=msg1(1:2:nn-1);
b=msg1(2:2:nn);
for i=1:8
    if a(i)==-1
        if b(i)==-1
            dp(i)=-0.75*pi;
        else
            dp(i)=0.75*pi;
        end
    elseif b(i)==1
           dp(i)=pi/4;
    else
            dp(i)=-pi/4;
    end
end
p(1)=dp(1);
for i=2:8
    p(i)=p(i-1)+dp(i);
end
for i=1:8
    I(i)=cos(p(i));
    Q(i)=sin(p(i));
end
t=0:1/fs:511/fs;
for j=1:8
    for i=1:64
        u((j-1)*64+i)=I(j);
        v((j-1)*64+i)=Q(j);
        i=i+1;
    end
    j=j+1;
end
y=cos(pi/4)*(u.*cos(2*pi*fc*t)-v.*sin(2*pi*fc*t));
plot(y);
y2=cos(pi/4)*(u.*cos(2*pi*fc*t-pi/2)-v.*sin(2*pi*fc*t-pi/2));

for i=1:528
    if i<65
        y1(i)=0;
    else 
        y1(i)=y(i-64);
    end
end
figure
plot(y1);
for i=511:528
    y(i)=0;
    y2(i)=0;
end

I2=y.*y1;
Q2=y1.*y2;

[b,a]=butter(2,2*fb/fs);
I3=filtfilt(b,a,I2);
Q3=filtfilt(b,a,Q2);
figure
plot(I3);
figure
plot(Q3);
m=64;
N=length(y)/m;
n=(0.5:1:N)*m;
In=(sign(I3(n))+1)/2;
Qn=(sign(Q3(n))+1)/2;

xn=[In;Qn];
xn=xn(:);
xn=xn';
for j=1:16
    for i=1:64
        ym((j-1)*64+i)=xn(j);
    end
end
figure
plot(ym);
[num2,ratio2]=symerr(msg,xn)

⌨️ 快捷键说明

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