mt=am*cos(2*pi*fm*t) ; %生成调制信号
j_mt(i+1)=j_mt(i)+mt(i)*dt;
ct=cos(2*pi*fc*t) ; %生成载波
sft=cos(2*pi*fc*t+kf*j_mt) ; %生成已调信号
%*************添加高斯白噪声**************
%**************figure(3)无噪声解调信号的时域图******************
subplot(3,1,1);plot(t,mt); %绘制调制信号的时域图
subplot(3,1,2);plot(t,sft); %绘制已调信号的时域图
diff_nsfm1 = zeros(1, length(nsfm1) - 1);
for i=1:length(t)-1 %信号通过微分器处理
diff_nsfm1(i)=(nsfm1(i+1)-nsfm1(i))./dt;
diff_nsfmn=abs(hilbert(diff_nsfm1)); %hilbert变换,求绝对值得到瞬时幅度(包络检波)
zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;
diff_nsfmn1=diff_nsfmn-zero;
subplot(3,1,3); %绘制无噪声条件下解调信号的时域图
plot((1:length(diff_nsfmn1))./2000,diff_nsfmn1./400-30,'r');
%**************figure(4)小信噪比******************
subplot(3,1,1);plot(t,mt); %绘制调制信号的时域图
db1=am^2/(2*(10^(sn1/10))); %计算对应的小信噪比高斯白躁声的方差
n1=sqrt(db1)*randn(size(t)); %生成高斯白躁声
nsfm1=n1+sft; %生成含高斯白躁声的已调信号(信号通过信道传输)
plot(t,nsfm1); %含小信噪比高斯白噪声已调信号时域图
title('含小信噪比高斯白噪声已调信号的时域图');
diff_nsfm1 = zeros(1, length(nsfm1) - 1);
for i=1:length(t)-1 %信号通过微分器处理
diff_nsfm1(i)=(nsfm1(i+1)-nsfm1(i))./dt;
diff_nsfmn=abs(hilbert(diff_nsfm1)); %hilbert变换,求绝对值得到瞬时幅度(包络检波)
zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;
diff_nsfmn1=diff_nsfmn-zero;
subplot(3,1,3); %含小信噪比高斯白噪声解调信号时域图
plot((1:length(diff_nsfmn1))./2000,diff_nsfmn1./400-30,'r');
title('含小信噪比高斯白噪声解调信号的时域图');
%**************figure(5)大信噪比******************
db1=am^2/(2*(10^(sn2/10))); %计算对应的大信噪比高斯白躁声的方差
n1=sqrt(db1)*randn(size(t)); %生成高斯白躁声
nsfm1=n1+sft; %生成含高斯白躁声的已调信号(信号通过信道传输)
plot(t,nsfm1); %绘制含大信噪比高斯白噪声已调信号的时域图
title('含大信噪比高斯白噪声已调信号的时域图');
diff_nsfm1 = zeros(1, length(nsfm1) - 1);
for i=1:length(t)-1 %信号通过微分器处理
diff_nsfm1(i)=(nsfm1(i+1)-nsfm1(i))./dt;
diff_nsfmn=abs(hilbert(diff_nsfm1)); %hilbert变换,求绝对值得到瞬时幅度(包络检波)
zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;
diff_nsfmn1=diff_nsfmn-zero;
subplot(3,1,3); %绘制含大信噪比高斯白噪声解调信号的时域图
plot((1:length(diff_nsfmn))./2000,diff_nsfmn1./400-30,'r');
title('含大信噪比高斯白噪声解调信号的时域图');
mt = A * cos(wm * t); % 调制信号
sFM = A_c * cos(wc * t + K_F * cumsum(mt) * dt); % 已调信号
rt = abs(hilbert(sdt)); % 非相干解调信号
sigma = sqrt(A^2 / (2 * 10^(SNR / 10)));
noise = sigma * rand(1, length(mt));
rt = abs(hilbert(sdt)); % 非相干解调信号
title('含小信噪比高斯白噪声己调信号的时域图');
title('含小信噪比高斯白噪声解调信号的时域图');
sigma = sqrt(A^2 / (2 * 10^(SNR / 10)));
noise = sigma * rand(1, length(mt));
rt = abs(hilbert(sdt)); % 非相干解调信号
title('含大信噪比高斯白噪声己调信号的时域图');
title('含大信噪比高斯白噪声解调信号的时域图');
mt = A * cos(wm * t); % 调制信号
sFM = A_c * cos(wc * t + K_F * cumsum(mt) * dt); % 已调信号
rt = abs(hilbert(sdt)); % 非相干解调信号
sigma = sqrt(A^2 / (2 * 10^(SNR / 10)));
noise = sigma * rand(1, length(mt));
rt = abs(hilbert(sdt)); % 非相干解调信号
title('含小信噪比高斯白噪声己调信号的时域图');
title('含小信噪比高斯白噪声解调信号的时域图');
sigma = sqrt(A^2 / (2 * 10^(SNR / 10)));
noise = sigma * rand(1, length(mt));
rt = abs(hilbert(sdt)); % 非相干解调信号
title('含大信噪比高斯白噪声己调信号的时域图');
title('含大信噪比高斯白噪声解调信号的时域图');
% 实验扩展2、试从频域上分析无噪声、小信噪比噪声、大信噪比噪声三种情况下信号的解调。
rt = abs(hilbert(sdt)); % 非相干解调信号
[s, fs] = T2F(t, rt); % 傅里叶变换
title('无噪声条件下解调信号的频率特性');
sigma = sqrt(A^2 / (2 * 10^(SNR / 10)));
noise = sigma * rand(1, length(mt));
rt = abs(hilbert(sdt)); % 非相干解调信号
[s, fs] = T2F(t, rt); % 傅里叶变换
title('含小信噪比高斯白噪声解调信号的时域图');
title('含小信噪比高斯白噪声解调信号的频率特性');
sigma = sqrt(A^2 / (2 * 10^(SNR / 10)));
noise = sigma * rand(1, length(mt));
rt = abs(hilbert(sdt)); % 非相干解调信号
[s, fs] = T2F(t, rt); % 傅里叶变换
title('含大信噪比高斯白噪声解调信号的时域图');
title('含大信噪比高斯白噪声解调信号的频率特性');
clc, clear all, close all;
mt = cos(2 * pi * fm * t);
st = sin(2 * pi * fc * t + 2 * pi * kf * cumsum(mt) * Ts);
rt(1) = Av * cos(vco_phase(1));
et(1) = km * rt(1) * st(1);
vt(1) = k0 * (b0 * et(1));
vco_phase_change = 2 * pi * fc * Ts + kv * vt(n - 1) * Ts;
vco_phase(n) = vco_phase(n - 1) + vco_phase_change;
rt(n) = Av * cos(vco_phase(n));
et(n) = km * rt(n) * st(n);
vt(n) = k0 * (b0 * et(n) + b1 * et(n - 1) - a1 * vt(n - 1));