ASK调制

本文详细介绍了一种64kbps ASK(移频键控)调制技术的应用实例,通过MATLAB代码展示了如何将二进制序列转化为载波幅度变化,包括码速率设置、采样频率计算和实际调制过程。通过FFT分析信号特征,读者可以理解基础的数字通信原理。
摘要由CSDN通过智能技术生成

%ASK调制 

 
code_end1=[1 0 0 1 1 1 1 0 1 0 0 1 0 1 0 0 0 1 1 0]; 
% 调制参数 
CodeFre = 6.4*10^4;                                 %码速率   64kbps 
Tc      = 1/CodeFre;                                %码元宽度 
CarrFre = 100*10^3;                                 %载波频率 100KHz 
SamFre  = 6.4*10^5;                                 %采样频率 640KHz 
Ts      = 1/SamFre;                                 % 采样时间间隔 
 
Temp    = fix(SamFre/CodeFre);                      % 平均每个码元宽度内采样点个数 
%Reminder= SamFre/CodeFre - fix(SamFre/CodeFre);    % 得到小数,从而确定每个码元起始采样点的偏移量 
%Offset  = 1-Reminder;                              % 得到下一码元起始处时间偏移 
num     = length(code_end1);                        % 取码序列的长度 
 
% ASK调制 
switch code_end1(1) 
    case 0 
        a=0; 
    case 1 
        a=1; 
end   
t = Ts :Ts: Temp*Ts; 
ASK_u1= a*cos(2*pi*CarrFre*t); 
SamLen = length(ASK_u1); 
NewOffset = Tc-Ts*Temp; 
for n = 2:num; 
%    判断载波相位变化 
   switch code_end1(n) 
       case 0 
           a=0; 
       case 1 
           a=1; 
   end   
   N=(NewOffset+Tc)/Ts; 
   Temp = fix(N); 
   t =Ts*(SamLen+1) :Ts: Ts*(Temp+SamLen); %时间长度 
   %m=1:Temp; 
   %c=[c,cos(2*pi*CarrFre*t)]; 
   S=a*cos(2*pi*CarrFre*t); 
   ASK_u1 =[ASK_u1,S]; 
   SamLen = length(ASK_u1); 
   %NewReminder =N-Temp; 
   NewOffset = n*Tc-Ts*SamLen; 
   %    end 
   n 
end
figure (1)
m=length(ASK_u1);
subplot(2,1,1)
plot(1:m,ASK_u1)
subplot(2,1,2)
FS=abs(fft(ASK_u1,128));
f=(0:(128-1))'*SamFre/128;
plot(f(1:64),FS(1:64))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静水流深深深!

谢谢你的鼓励,我感激不尽!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值