基于matlab的短波通信信号基本样式(AM、DSB、FM、2ASK、2FSK、2PSK)

标题基于matlab的短波通信信号基本样式(AM、DSB、FM、2ASK、2FSK、2PSK)

最近学校老师布置的通信信号的仿真任务,本来仿真一个普通信号并不是一件难事,但是老师要求按照实际的频段来仿真,因此,我做的是3-30MHz的信号。编程小白一个,发现网上仿真信号的频率都比较小,将其调到高频后会有一些不好操作的地方,所以就在网上找了一阵子,然后将短波频段的仿真信号做出来了,跟大家分享一下。因为在网上找了许久,所以可能会无意识的引用到其他博主的代码,如果代码涉及到这类事情,望大家告知,我立马撤除。

PS:本人编程小白一个,尤其是遇到信号处理这一块内容,头都炸了,我也是第一次写文章,写这篇文章的目的就是想着各位大神看过之后能够指点一二,我跟大家学习学习,先谢过大家了!

AM信号

f_am = 20e+06;              %载波频率为20MHz
f_am_t = 1e+06;             %调制信号频率为1MHz
fs = 4*f_am;                %采样频率
Tr_am = 40e-6;              %信号脉冲持续时间
t = 0:1/fs:2*Tr_am-1/fs;    %采样时间
N = length(t);              %采样点数
df = fs/N;                  %一个采样点对应的采样频率
n = -N/2:1:N/2-1;           %频率的横轴数值
f = n*df*2;
A0_am = 1.5;                %直流偏量幅度
At_am = sin(pi*f_am_t*t);                          %调制信号
y_am = A0_am*cos(pi*f_am*t)+At_am.*cos(pi*f_am*t);    %调幅信号表达式
fy_am = abs(fftshift(fft(y_am)));                        %将信号转化到频域
fy_am_p = 10*log10(fy_am);

subplot(2,1,1)
plot(t/1e3,y_am);
title('AM信号时域波形图');
xlabel('时间(ms)')
ylabel('幅度')
grid on

subplot(2,1,2)
plot(f/1e6,fy_am_p)
title('AM信号频域图')
xlabel('频率(MHz)')
ylabel('功率(dB)')
grid on

在这里插入图片描述

DSB信号

f_dsb = 20e+06;              %载波频率为20MHz
f_dsb_t = 0.5e+06;           %调制信号频率为0.5MHz
fs = 4*f_dsb;                %采样频率
Tr_dsb = 40e-6;              %信号脉冲持续时间
t = 0:1/fs:2*Tr_dsb-1/fs;    %采样时间
N = length(t);               %采样点数
df = fs/N;                   %一个采样点对应的采样频率
n = -N/2:1:N/2-1;            %频率的横轴数值
f = n*df*2;
At_dsb = sin(pi*f_dsb_t*t);             %调制信号
y_dsb = At_dsb.*cos(pi*f_dsb*t);        %调幅信号表达式
fy_dsb = abs(fftshift(fft(y_dsb)));     %将信号转化到频域
fy_dsb_p = 10*log10(fy_dsb);

figure
subplot(2,1,1)
plot(t/1e3,y_dsb);
title('DSB信号时域波形图');
xlabel('时间(ms)')
ylabel('幅度')
grid on

subplot(2,1,2)
plot(f/1e6,fy_dsb_p)
title('DSB信号频域图')
xlabel('频率(MHz)')
ylabel('功率(dB)')
grid on

在这里插入图片描述

FM信号

fc_fm = 10e+06;                %载波频率
fm_fm = 1e+06;                 %调制频率
fs_fm = 4*fc_fm;               %采样率
Tr_fm = 20e-06;                %信号脉冲持续时间
mf = 20;                       %调幅指数
t = 0:1/fs_fm:2*Tr_fm-1/fs_fm;
N = length(t);
df = fs_fm/N;
n = -N/2:1:N/2-1;
f = n*df;
m = sin(2*pi*fm_fm*t);                                     %调制信号
y_fm = cos(2*pi*fc_fm*t+2*pi*mf*1/fs_fm*cumsum(m));        %已调信号
fy_fm_p = 10*log10(abs(fftshift(fft(y_fm))));              %已调信号频域

figure
subplot(2,1,1)
plot(t/1e+03,y_fm)
title('FM信号时域波形图')
xlabel('时间(ms)')
ylabel('幅度')
grid on

subplot(2,1,2)
plot(f/1e+06,fy_fm_p)
title('FM信号的频域图')
xlabel('频率(MHz)')
ylabel('功率(dB)')
grid on

在这里插入图片描述

ASK信号

fc_ask = 20e+06;                   %载波频率
fs_ask = 4*fc_ask;                 %采样率
Tr_ask = 20e-06;                   %信号脉冲持续时间
t = 0:1/fs_ask:Tr_ask-1/fs_ask; 
s = round(rand(1,16));             %0-1调制码
for i=1:length(s)
    if s(i)==1
        xn((i-1)*100+1:i*100) = ones(1,100);
    else
        xn((i-1)*100+1:i*100) = zeros(1,100);
    end
end
y_ask_1 = sin(2*pi*fc_ask*t);
y_ask = xn.*y_ask_1;

figure
plot(t*1e+03,y_ask)
title('2ASK信号时域波形')
xlabel('时间(ms)')
ylabel('幅度')
grid on

在这里插入图片描述

2FSK信号

fc_fsk_1 = 10e+06;                 %频率1
fc_fsk_2 = 5e+06;                  %频率2
fs_fsk = 4*fc_fsk_1;               
Tr_fsk = 40e-06;
t = 0:1/fs_fsk:Tr_fsk-1/fs_fsk;
s = round(rand(1,16));
for i=1:length(s)
    if s(i)==1
        xn1((i-1)*100+1:i*100) = ones(1,100);
        xn2((i-1)*100+1:i*100) = zeros(1,100);
    else
        xn1((i-1)*100+1:i*100) = zeros(1,100);
        xn2((i-1)*100+1:i*100) = ones(1,100);
    end
end
y_fsk_1 = xn1.*sin(2*pi*fc_fsk_1*t);
y_fsk_2 = xn2.*sin(2*pi*fc_fsk_2*t);
y_fsk = y_fsk_1+y_fsk_2;

figure
plot(t*1e+03,y_fsk)
title('2FSK信号时域波形')
xlabel('时间(ms)')
ylabel('幅度')

在这里插入图片描述

2PSK信号

fc_psk = 20e+06;                   %载波频率
fs_psk = 4*fc_psk;                 %采样率
Tr_psk = 20e-06;                   %信号脉冲持续时间
t = 0:1/fs_psk:Tr_psk-1/fs_psk; 
s = round(rand(1,16));             %0-1调制码
for i=1:length(s)
    if s(i)==1
        xn((i-1)*100+1:i*100) = ones(1,100);
    else
        xn((i-1)*100+1:i*100) = -ones(1,100);
    end
end
y_psk_1 = sin(2*pi*fc_psk*t);
y_psk = xn.*y_psk_1;

figure
plot(t*1e+03,y_psk)
title('2PSK信号时域波形')
xlabel('时间(ms)')
ylabel('幅度')
grid on

在这里插入图片描述

  • 8
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值