• 大小: 5KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: Matlab
  • 标签: matlab  

资源简介

产生调幅AM信号,并利用锁相环对AM信号进行解调,基本实现载波同步功能。

资源截图

代码片段和文件信息

% AM_amplitude_modulation_test.m
clc; 
close all;
clear all;
%--参数
%--采样参数
fs =10e6; %--数字采样速率 fs >= 2(fc+fm+0.5*Bm) 这里取 fs = 10 MHz
Ts = 1/fs;
ps = 1e6;
N_number = 200;
N=N_number*fs/ps;  %--采样点个数 N > fix(2*fs/fm); %--至少一个周期内采两个点
n =0:N-1; %--采样序列
t =n/fs;  %--采样时间序列

%--调制信号
Am =1; %--归一化幅值
fm =0.1e6; %--调制信号的频率 这里取 fm = 0.1MHz
Bm = 0;%--带宽这里取为单频信号,所以 Bm=0
%-----------------------
%--调制信号表达式
%----------------------
sm = Am*cos(2*pi*fm*t);
% sm = sawtooth(2*pi*10000*t0.5);  %%三角波
% sm = square(2*pi*10000*t75);
%--载波信号
Ac =1; %--归一化幅值
fc =1e6; %--载波频率 一般 fc > fm 这里取 fc = 1 MHz
%-----------------------
%--载波信号表达式
%----------------------
sc = Ac*cos(2*pi*fc*t);
sc1 =  Ac*sin(2*pi*fc*t);

%--调制度
mf = 0.5;%--mf 取值在 0 和 1 之间. mf = 0 表示没有调制;mf =1 是过调制的边界

%--普通幅度调制:载波+双边带 %-- 点乘:.*  两个相等长度的矢量对应点相乘
% s_am = (1+mf*Am*cos(2*pi*fm*t)).*(Ac*cos(2*pi*fc*t));
%----------------------------
%--普通幅度调制 调幅波表达式
%----------------------------
s_am_general = (1+mf*sm).*sc; %--

%--双边带调制:抑制载波 %-- 点乘:.*  两个相等长度的矢量对应点相乘
% s_am_DSB = mf*Am*cos(2*pi*fm*t).*(Ac*cos(2*pi*fc*t));
%----------------------------
%--双边带调制 调幅波表达式
%----------------------------
s_am_DSB = mf*sm.*sc; %--
s_am_DSB_1 = mf*sm.*sc1; %--

Signal_Channel = s_am_DSB + 1i * s_am_DSB_1;
T = 1/ps;
Sample_Length = length(t);
Simulation_Length = 200;
decimator = 1;
symbol_rate = ps;
I_data1 = sm;
Q_data1 = zeros(1length(t));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%以下为COSTAS环载波恢复处理过程
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%载波同步参数清零和初始化
Signal_PLL=zeros(1Sample_Length);
Sample_Length1=Simulation_Length*round(T/(Ts*decimator));
Signal_PLL_D=zeros(1Sample_Length1);
I_PLL_D=zeros(1Sample_Length1);
Q_PLL_D=zeros(1Sample_Length1);
NCO_Phase = zeros(1Sample_Length1);
Discriminator_Out=zeros(1Sample_Length1);
Freq_Control=zeros(1Sample_Length1);
PLL_Phase_Part=zeros(1Sample_Length1);
PLL_Freq_Part=zeros(1Sample_Length1);

Ko=1;                           %压控振荡器增益               
Kd=1;                           %鉴相器增益  
K=Ko*Kd;
sigma=0.707;                    %环路阻尼系数
BL=0.98*symbol_rate;            %环路等效噪声带宽
Wn=8*sigma*BL/(1+4*sigma^2);    %环路自由震荡角频率
T_nco=Ts*decimator;             %压控振荡器NCO频率字更新周期
K1=(2*sigma*Wn*T_nco)/(K);      %环路滤波器系数K1
K2=((T_nco*Wn)^2)/(K);          %环路滤波器系数K2  %环路系数

kuai=2*sigma*Wn;
%K1=2*0.

评论

共有 条评论