以ASK调制解调为例观察采样与成型滤波的MATLAB仿真

目录

1.二进制ASK调制信号产生

 2.二进制ASK信号解调

2.1相干解调

2.2非相干解调

3.ASK调制信号的matlab仿真

4.ASK信号解调的MATLAB仿真

原文链接:ASK调制与解调_爱吃蛋挞的Dolly的博客-CSDN博客_ask调制

1.二进制ASK调制信号产生

调制信号为二进制数字信号时,这种调制称为二进制数字调制。在2ASK调制中,载波的幅度只有两种变化状态,即利用数字信息0或1的基带矩形脉冲去键控一个连续的载波,使载波时断时续输出。有载波输出时表示发送1,无载波输出时表示发送0.
由于2ASK信号可以认为是一个单极性的矩形脉冲序列与一个载波相乘,即

 式中,g(t)是持续时间为Ts的矩形脉冲,而ak的取值服从下述关系

  由频率卷积定理可得*s(t)*的频谱为

 由上式可知,由于基带矩形脉冲序列的频谱宽度是无限宽的,因此直接采用键控方式产生的ASK信号的频谱带宽也是无限宽的。随着偏离载波中心频率处越远,信号功率衰减越大,且90%的信号功率均集中在主瓣带宽内。当传输信道不存在其他频带干扰时,可以直接使用键控方式产生ASK信号。然而大多数情况为了避免干扰,需要在信号进入功放前增加一级带通滤波器,保证信号的绝大部分能量通过,同时滤除带外频率分量。

频带资源紧张时,为降低信号带宽,在调制前增加成形滤波,故2ASK信号的产生模型如下:

 2.二进制ASK信号解调

2.1相干解调

相干解调原理图如下,且接收端必须提供一个与ASK信号的载波保持同频同相的相干载波,否则会造成解调后的波形失真。然而相干载波的实现实现比较复杂,故实际设备中更常使用包络检波法实现解调。

2.2非相干解调

由于包络检波法不需要提取相干载波,因此是一种非相干解调法,其原理如下图所示

 经过整流电路,交流信号转换成直流信号,而后通过低通滤波器即可滤出基带信号的包络,最后经判决输出,完成ASK信号的解调功能。相干与非相干解调ASK信号的误码率性能对比如下图所示:

3.ASK调制信号的matlab仿真

Len=1000;    %数据长度为1000

Rb=1*10^6;          %码元速率
Fs=8*Rb;            %采样频率
LenData=Len*Fs/Rb;  %数据长度
Fc=70*10^6;         %载波频率
Qn=8;               %量化位数
a=0.8;              %成形滤波器滚降因子

%产生载波信号
t=0:1/Fs:Len/Rb;
carrier=cos(2*pi*Fc*t);
carrier=carrier(1:LenData);

%产生随机分布的二进制数据
code_2ask=randint(1,Len,2);
%对基带数据以Fs速率采样
code_2ask_upsamp=rectpulse(code_2ask,Fs/Rb);
%对基带数据进行成形滤波,同时进行Fs/Rb倍采样
code_2ask_filter=rcosflt(code_2ask,1,Fs/Rb);
%产生未进行成形滤波的2ASK信号
ASK2=carrier.*code_2ask_upsamp;
%产生成形滤波后的2ASK信号
ASK2_filter=carrier.*code_2ask_filter(1:LenData)';

%获取2ASK信号的频谱
ASK2_Spec=20*log10(abs(fft(ASK2,1024)));
ASK2_Spec=ASK2_Spec-max(ASK2_Spec);
ASK2_filter_Spec=20*log10(abs(fft(ASK2_filter,1024)));
ASK2_filter_Spec=ASK2_filter_Spec-max(ASK2_filter_Spec);


%产生随机分布的四进制数据
code_4ask=randint(1,Len,4);
%对基带数据以Fs速率采样
code_4ask_upsamp=rectpulse(code_4ask,Fs/Rb);
%对基带数据进行成形滤波,同时进行Fs/Rb倍采样
code_4ask_filter=rcosflt(code_4ask,1,Fs/Rb);
%产生未进行成形滤波的4ASK信号
ASK4=carrier.*code_4ask_upsamp;
%产生成形滤波后的4ASK信号
ASK4_filter=carrier.*code_4ask_filter(1:LenData)';

%获取4ASK信号的频谱
ASK4_Spec=20*log10(abs(fft(ASK4,1024)));
ASK4_Spec=ASK4_Spec-max(ASK4_Spec);
ASK4_filter_Spec=20*log10(abs(fft(ASK4_filter,1024)));
ASK4_filter_Spec=ASK4_filter_Spec-max(ASK4_filter_Spec);

%绘图
    figure(1);x=0:200;x=x/Fs*(10^6);
    subplot(221);plot(x,ASK2(100:300));xlabel('时间(us)');ylabel('幅度(v)');
    title('未经成形滤波的2ASK时域波形');grid on;
    subplot(222);plot((0:200),ASK2_filter(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
    title('成形滤波后的2ASK时域波形');grid on;
    subplot(223);plot((0:200),ASK4(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
    title('未经成形滤波的4ASK时域波形');grid on;
    subplot(224);plot((0:200),ASK4_filter(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
    title('成形滤波后的4ASK时域波形');grid on;

    figure(2);x=0:length(ASK2_Spec)-1;x=x/length(x)*Fs/10^6;
    subplot(221);plot(x,ASK2_Spec);xlabel('频率(MHz)');ylabel('幅度(dB)');
    title('未经成形滤波的2ASK频谱');grid on;
    subplot(222);plot(x,ASK2_filter_Spec);xlabel('频率(MHz)');ylabel('幅度(dB)');
    title('成形滤波后的2ASK频谱');grid on;
    subplot(223);plot(x,ASK4_Spec);xlabel('频率(MHz)');ylabel('幅度(dB)');
    title('未经成形滤波的4ASK频谱');grid on;
    subplot(224);plot(x,ASK4_filter_Spec);xlabel('频率(MHz)');ylabel('幅度(dB)');
    title('成形滤波后的4ASK频谱');grid on;

程序中分别产生2ASK和4ASK,未经过成形滤波器和经过成形滤波器后的时域波形即频谱图

 

 显然,经过成形滤波器后的信号频率滤除了主瓣外的频率分量;2ASK和4ASK的频谱形状相同,主瓣宽度相同;滤波前后的信号频谱都含有明显的载波频率分量。

4.ASK信号解调的MATLAB仿真

本模块的解调的信号输入是上一节的调制信号,只需要将输入信号经过整流滤波即可输出基带信号。
源码:

Rb=1*10^6;          %码元速率
Fs=8*Rb;            %采样频率
a=0.8;              %成形滤波器滚降因子

[ASK2,ASK2_filter,ASK4,ASK4_filter]=AskMod();
figure(4);
subplot(211);plot(20*log10(abs(fft(ASK2))));
subplot(212);plot(20*log10(abs(fft(ASK2_filter))));
%整流
ASK2=abs(ASK2);
ASK2_filter=abs(ASK2_filter);
ASK4=abs(ASK4);
ASK4_filter=abs(ASK4_filter);

figure(5);
subplot(211);plot(20*log10(abs(fft(ASK2))));
subplot(212);plot(20*log10(abs(fft(ASK2_filter))));

%低通滤波
b=fir1(32,Rb*2/Fs);
d_ASK2=filter(b,1,ASK2);
d_ASK2_filter=filter(b,1,ASK2_filter);
d_ASK4=filter(b,1,ASK4);
d_ASK4_filter=filter(b,1,ASK4_filter);

%绘图
    figure(1);x=0:200;x=x/Fs*(10^6);
    subplot(221);plot(x,ASK2(100:300));xlabel('时间(us)');ylabel('幅度(v)');
    title('整流后的2ASK时域波形');grid on;
    subplot(222);plot((0:200),ASK2_filter(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
    title('整流后的2ASK(成形滤波)时域波形');grid on;
    subplot(223);plot((0:200),ASK4(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
    title('整流后的4ASK时域波形');grid on;
    subplot(224);plot((0:200),ASK4_filter(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
    title('整流后的4ASK(成形滤波)时域波形');grid on;

    figure(2);x=0:200;x=x/Fs*(10^6);
    subplot(221);plot(x,d_ASK2(100:300));xlabel('时间(us)');ylabel('幅度(v)');
    title('解调2ASK的基带时域波形');grid on;
    subplot(222);plot((0:200),d_ASK2_filter(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
    title('解调2ASK(成形滤波)的基带时域波形');grid on;
    subplot(223);plot((0:200),d_ASK4(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
    title('解调4ASK的基带时域波形');grid on;
    subplot(224);plot((0:200),d_ASK4_filter(100:300));;xlabel('时间(us)');ylabel('幅度(v)');
    title('解调4ASK(成形滤波)的基带时域波形');grid on;
    
    figure(3);
    freqz(b);

对于2ASK信号,解调出的信号呈现比较规则的基带信号波形,取信号峰值的一般作为判决门限,很容易恢复出原始的传输数据。解调出的4ASK信号呈现比较规则的基带信号波形,明显看出有4种电平,合理设置判决门限,也能很容易恢复原始的传播数据。

 

 

  • 5
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 2ask调制与解调的matlab仿真可以通过以下步骤实现: 1. 定义调制信号:可以选择正弦波、方波等基本波形,也可以自定义复杂波形。 2. 生成调制信号:将基本波形与调制信号相乘,得到调制信号。 3. 定义载波信号:选择与调制信号频率相同的正弦波作为载波信号。 4. 生成调制波:将调制信号与载波信号相乘,得到调制波。 5. 添加噪声:为了模拟真实通信环境,可以在调制波中添加高斯白噪声。 6. 解调:将调制波与载波信号相乘,得到解调信号。 7. 滤波:为了去除噪声和高频成分,可以对解调信号进行低通滤波。 8. 分析结果:可以通过绘制波形图、频谱图等方式分析仿真结果。 以上就是2ask调制与解调的matlab仿真的基本步骤。 ### 回答2: 2ASK调制与解调的matlab仿真可以利用matlab的通信工具箱进行实现。2ASK是一种基本的数字调制方式,其原理是将数字信号转换为一串二进制代码,并在每一位二进制代码上加上不同的幅度。在仿真中,我们需要考虑到以下几个步骤: 1.将待调制的数字信号转换为二进制代码。这一步可以使用matlab自带的二进制转换函数或自行编写矩阵运算实现,将数字信号转换为二进制编码。 2.将二进制代码通过调制电路进行2ASK调制。2ASK调制器需要根据每一位的二进制编码选择不同的调制幅度,并在每个符号周期内发射一个带有调制幅度的正弦波。 3.将调制后的信号发送至信道进行传输。这一步可以利用matlab的通信工具箱中的AWGN(加性高斯白噪声)通道进行加噪声处理,模拟实际通信中的噪声干扰。 4.接收方将收到的2ASK调制信号通过解调电路进行解调。解调器需要根据接收到的幅度信号判断每一个符号周期中发射的是哪一个二进制代码,从而得到原始数字信号。 5.将解调后的数字信号与原始信号进行比较。这一步可以通过matlab编写自定义函数,计算解调后的数字信号与原始信号的比特误码率(BER),评估信道中的误码性能。 总体来说,2ASK调制与解调的matlab仿真需要实现数字信号的编解码、调制器和解调器的设计、通道模型的建立、误码率计算等步骤。其仿真结果可以帮助我们了解2ASK数字调制的性能特点,优化调制器和解调器的设计,并为实际通信系统的设计提供参考。 ### 回答3: 2ASK调制与解调的MATLAB仿真是一种利用MATLAB软件在计算机上实现模拟通信系统的过程,可以快速验证、优化、设计和评估基于2ASK调制与解调系统的性能,以及评估信号传输过程中所涉及的参数、带宽、功率和信噪比等指标,为实际通信系统的设计和优化提供支持。 2ASK是一种数字调制方式,它将二进制数据转换成一串数字信号,然后根据调制方法将数字信号转换成连续的模拟信号,通过模拟信号将数字信息传输给接收端,接收端对模拟信号进行解调还原出原始数字信息。 MATLAB仿真2ASK调制与解调的过程分为三个部分,分别是信号生成、调制过程和解调过程。 首先,需要生成原始的数字信号,通过随机生成二进制数来获得信号序列。其次,在2ASK调制器中,将数字信号转换成连续的模拟信号,可以使用基带调制模块实现2ASK调制过程。而解调过程则利用2ASK解调器来还原原始数字信息。 为了更加直观、有效地展示和评估2ASK调制与解调的性能,需要对信号进行可视化处理,并分析信号所涉及的各项指标。利用MATLAB软件提供的工具和函数库,可以方便地绘制时域图、频域图、眼图和误码率曲线等图形,通过这些图形分析系统性能如何随时间、频率、带宽和信噪比的变化而变化,从而对通信系统进行优化和调整。 总之,利用MATLAB仿真2ASK调制与解调的过程可以有效地验证和评估通信系统的性能和效果,为系统的设计和优化提供支持和保障。同时,这也是一种高效、直观的方法,对于学习和研究数字通信技术也有很大的帮助和推动作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

子木呀

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值