当前位置: 首页 > news >正文

基于MATLAB的信号调制与调解

之前做的一些实验报告,觉得很有用,记录一下之后可能会涉及到,同时也记录一下学习成长。

一、目的

通过本实验,可以加深我们对信号调制与解调原理的理解,并学会使用Matlab编程实现信号的调制与解调。通过实际操作,我们可以掌握信号调制与解调的基本方法,包括载波信号的生成、调制信号的生成、调制过程的实现、解调过程的实现以及信号的频谱分析。

二、设备和仪器

笔记本电脑、软件MATLAB-2024b

三、原理

信号调制是通信系统中将信息信号(调制信号)加载到高频载波信号上的过程,以便于信号的传输。调制的目的是将低频信号转换为高频信号,以适应无线传输或有线传输的要求。调制过程可以通过不同的方法实现,如幅度调制(AM)、频率调制(FM)和相位调制(PM)。

解调是调制的逆过程,目的是从调制信号中恢复出原始的调制信号。在本实验中,我们使用乘积型同步检波器来实现解调。解调过程涉及到将已调信号与本地恢复的载波信号相乘,然后通过低通滤波器滤除高频分量,从而得到原始的调制信号。

四、实验内容

3.设采样信号的频率为8kHz,在输出端采用椭圆滤波器获得已调信号,画出已调信号的波形和频谱。

4.设采样信号的频率为80kHz,在输出端采用椭圆滤波器获得已调信号,画出已调信号的波形和频谱。

实验代码4

clc,clear,closeall

fs = 80000;%采样频率是80000

t = 0:1/fs:0.01;%生成时间向量,从0到0.01秒,步长为1/fs

x = 5*cos(2*pi*500*t);

yc = 2*cos(2*pi*2500*t);

%figure;

%subplot(211);plot(t,x);title('调制信号x1(t)=5cos(2π×500t)');

%subplot(212);plot(t,yc);title('载波信号yc1(t)=2cos(2π×2500t)');

y=x.*yc;

[b,a] = ellip(4,0.1,40,[1400 2600]*2/fs);%4阶,1400-2600频率范围

[H,w] = freqz(b,a,512);%传递函数 w 实现ab融合

figure;

yf = filter(b,a,y);

subplot(211);plot(t,y);title('已调信号波形(80k)');

subplot(212);plot(t,yf);title('SSB波形信号(80k)');

figure;

YS = fft(y,1024);%fft 1024

SF = fft(yf,1024);%滤波之后的yf fft

w = (0:511)/512*(fs/2);

subplot(211);plot(w,abs([YS(1:512)']));

title('滤除前,双边带信号频谱(80k)');

subplot(212);plot(w,abs([SF(1:512)']));

title('滤除后,单边带信号频谱(80k)');

五、实验心得和体会

在理论课上我们已经明白了,在本次实验中,我们首先是生成一个频率为500Hz的调制信号和一个频率为2500Hz的载波信号,再将两者相乘得到已调信号。然后我们通过设计一个椭圆滤波器对已调信号进行滤波,以获得单边带信号(SSB)。最后是通过快速傅里叶变换(FFT)分析已调信号和滤波后信号的频谱,并绘制出频谱图。对于第(3)和第(4)题,我们将采样信号的频率分别为8kHz和80kHz。我们可以观察到当信号的频率分别为8kHz时,已调信号和SSB波形信号都是比较尖锐的(如图1),我们可以观察到当信号的频率分别为80kHz时,已调信号和SSB波形信号都是比较平滑的(如图2)。说明采样频率对信号波形有显著影响,较高的采样频率(80kHz)提供了更好的时间分辨率,能够更细致地捕捉信号变化,使得波形更加平滑和圆润。而较低的采样频率(8kHz)可能导致波形细节丢失,使得波形看起来更尖锐。因此,适当选择采样频率对于信号处理至关重要。

六、实验涉及的代码或者电路等

实验代码1—8kHz

clc,clear,closeall

fs = 8000;%采样频率是8k

t = 0:1/fs:0.01;%生成时间向量,从0到0.01秒,步长为1/fs

x = 5*cos(2*pi*500*t);

yc = 2*cos(2*pi*2500*t);

figure;

subplot(211);plot(t,x);title('调制信号x1(t)=5cos(2π×500t)');

subplot(212);plot(t,yc);title('载波信号yc1(t)=2cos(2π×2500t)');

y=x.*yc;

[b,a] = ellip(4,0.1,40,[1400 2600]*2/fs);%4阶,1400-2600频率范围

[H,w] = freqz(b,a,512);%传递函数 w 实现ab融合

figure;

yf = filter(b,a,y);

subplot(211);plot(t,y);title('已调信号波形(8k)');

subplot(212);plot(t,yf);title('SSB波形信号(8k)');

figure;

YS = fft(y,1024);%fft 1024

SF = fft(yf,1024);%滤波之后的yf fft

w = (0:511)/512*(fs/2);

subplot(211);plot(w,abs([YS(1:512)']));title('滤除前,双边带信号频谱(8k)');

subplot(212);plot(w,abs([SF(1:512)']));title('滤除后,单边带信号频谱(8k)');

实验代码2—80kHz

clc,clear,closeall

fs = 80000;%采样频率是80k

t = 0:1/fs:0.01;%生成时间向量,从0到0.01秒,步长为1/fs

x = 5*cos(2*pi*500*t);

yc = 2*cos(2*pi*2500*t);

figure;

subplot(211);plot(t,x);title('调制信号x1(t)=5cos(2π×500t)');

subplot(212);plot(t,yc);title('载波信号yc1(t)=2cos(2π×2500t)');

y=x.*yc;

[b,a] = ellip(4,0.1,40,[1400 2600]*2/fs);%4阶,1400-2600频率范围

[H,w] = freqz(b,a,512);%传递函数 w 实现ab融合

figure;

yf = filter(b,a,y);

subplot(211);plot(t,y);title('已调信号波形(80k)');

subplot(212);plot(t,yf);title('SSB波形信号(80k)');

figure;

YS = fft(y,1024);%fft 1024

SF = fft(yf,1024);%滤波之后的yf fft

w = (0:511)/512*(fs/2);

subplot(211);plot(w,abs([YS(1:512)']));title('滤除前,双边带信号频谱(80k)');

subplot(212);plot(w,abs([SF(1:512)']));title('滤除后,单边带信号频谱(80k)');

http://www.jsqmd.com/news/582641/

相关文章:

  • Spring Boot + Vue 前后端联调踩坑记录
  • FIFA 23 Live Editor终极指南:10分钟掌握实时游戏修改技巧
  • 手把手教程:快速设置远程开机,看完就会
  • 每日 200 篇免费额度!PaperXie 查重:把论文安全感焊死在毕业季
  • 2026年五星酒店床垫推荐:五家优选品牌深度解析 - 科技焦点
  • Windows环境下安装TVM编译器
  • 5大核心优势:为多场景用户打造的屏幕翻译解决方案
  • 【头歌】操作系统 课堂练习2.3:系统调用
  • OpenMS实战指南:如何用开源工具解决质谱数据分析三大难题
  • 春游出发前买酒外卖来得及吗?歪马送酒大额券解锁春日微醺新方式 - 资讯焦点
  • 论文查重还在花冤枉钱?Paperxie 免费查重,本科生的毕业省钱神器
  • SQL优化让查询提升10倍——从数据库工程到执行计划深度解析
  • 2026海外网红营销内容合作与策划最佳实践
  • 数据分析之事实表(Fact Table)
  • 代码随想录算法训练营第一天 | Leetcode 704.二分查找 | Leetcode 27.移除元素 | Leetcode 977.有序数组的平方 (c#和c++双语)
  • 履约门槛再次大修!TikTok美区全面强制官方物流后,卖家该怎样守住前台账号的安全底线?
  • 露营烧烤喝什么精酿比较潮?歪马送酒大额券帮你省出潮饮预算 - 资讯焦点
  • AI辅助开发:让快马AI理解并生成ccswitch工具的核心逻辑与UI管理代码
  • AgentCPM-Report高效部署教程:GPU显存优化+流式输出配置详解
  • async/await:异步编程的“读心术”|从原理到避坑,一篇吃透!
  • 追剧想喝点酒外卖哪里买方便?歪马送酒大额券解锁便捷微醺 - 资讯焦点
  • 解决FTPS连接问题:从握手失败到成功连接的实战
  • 《Docker 部署 Elasticsearch + Kibana:搭建自己的日志搜索平台》
  • 117. 如何在Rancher监控中测试 AlertManager
  • GitHub 学生认证须知
  • 学会OpenClaw后,我的摸鱼时间又变长了
  • 如何通过LAV Filters解决媒体播放难题?开源解码工具完整优化指南
  • STM32H723ZGT6 与 STM32F103RCT6 硬核对比,从参数到实战的全维度精准解析
  • 2026最新户外文旅灯光设计厂家推荐!权威榜单发布,品质服务双优 - 十大品牌榜
  • LFM2.5-1.2B-Thinking-GGUF版本管理与协作:GitHub工作流中的AI助手