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

📄 mska.m

📁 关于 8ask的 调制程序 用来做幅度调制的
💻 M
字号:
clc;clear;

a=[1 -1 -1 1 1 1 -1 -1 -1 -1];       %  输入数据序列
N=length(a);                %  序列长度
fa=zeros(1,N);             %  初始化相位常数
fa(1)=0;                   %  将初始相位定为0
%-------------------求相位常数fa
for k=2:N
    if a(k)==a(k-1)
        fa(k)=fa(k-1);
    else
        fa(k)=fa(k-1)+(pi*k)/2;
        
    end
end
Ik=cos(fa);      %  同相分量的等效数据
Qk=-a.*cos(fa);  %  正交分量的等效数据

fb=5;                %  信道码元速率10bit/s
time=N/fb;            %  码元持续时间

fs=3000;                  %  采样频率
t=1/fs:1/fs:time;          %  采样时间
M=length(t);

%-----------------产生加权函数x,y
x=cos(pi*fb*t/2);     
y=sin(pi*fb*t/2);   

%------------------产生正交载波
fc=5;             %  载波频率            
x0=cos(2*pi*fc*t);
y0=sin(2*pi*fc*t);  

for m=1:N
    tim(m)=m/fb;
end                %  每个码元的截止时间

%------------定义与二进制码元对应的时间序列
s=1;
s1=1;
Qkt=zeros(1,M);
Ikt=zeros(1,M);
at=zeros(1,M);
for m=1/fs:1/fs:time
    if m>tim(s)
        s=s+1;
    end
    if a(s)==1
        at(s1)=1;
    else
        at(s1)=-1;
    end
    
    if Qk(s)==1
        Qkt(s1)=1;
    else
        Qkt(s1)=-1;
    end
    if Ik(s)==1
        Ikt(s1)=1;
    else
        Ikt(s1)=-1;
    end
    s1=s1+1;
end

Ikt2=Ikt.*x.*x0;     %  同相分量
Qkt2=Qkt.*y.*y0;     %  正交分量
msk=Ikt2+Qkt2;   %  产生MSK信号
plot(t,Ikt2);subplot(311)
plot(t,Qkt2);subplot(312)
plot(t,msk);subplot(313)
%--------相干解调--------------------------
fc=50;
car1=cos(2*pi*fc*t);   
car2=-sin(2*pi*fc*t);    %  相干载波
up=msk.*car1;
down=msk.*car2;
syms  kaa kab
kaa=int(up);
kab=int(down);

if t<=2*k*fs
    a=1;
else
    a=-1;
end





















⌨️ 快捷键说明

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