幅度调制(AM调制、DSB(双边带)调制、SSB、VSB)
幅度调制(线性调制)是由调制信号去控制高频载波的幅度,使之调制信号的频谱线性变化。
载波信号:,基带信号为m(t),则已调信号为:(设基带信号m(t)的频谱为)
可以看到,幅度调制就是把基带信号的频谱搬移到处,再乘以1/2 。是线性变换。
AM调制
为使用包络检波的方式进行解调,要求
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | clear all ; %% AM调制 fs = 800; % 采样速率,单位kHz dt=1/fs; % 采样时间间隔,单位ms T = 200; % 采样的总时间。频谱分辨率(df=1/T)。 t = 0 : dt : T-dt; fm = 1; % 调制信号的频率,单位kHz fc = 10; % 载波信号的频率,单位kHz m = cos (2* pi *fm*t); % 调制信号 A = 3; %直流信号 s = (m+A).* cos (2* pi *fc*t); %已调信号 [f,sf] = T2F(t,s); figure (1) plot (t,s); axis ([0,2,-4,4]); figure (2) plot (f, abs (sf)); axis ([-15,15,0, max ( abs (sf))]); |
DSB调制 ,只能用相干解调
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | clear all ; %% DSB调制 % DSB(双边带)只需将调制信号m(t)与载波信号cos(wt)直接相乘即可 dt=1/800; T = 200; % 采样的总时间。频谱分辨率(df=1/T)。 t = 0 : dt : T-dt; fm = 2; % 调制信号的频率,单位kHz fc = 20; % 载波信号的频率,单位kHz m = cos (2* pi *fm*t); % 调制信号 s = m.* cos (2* pi *fc*t); %DSB已调信号 [f,sf] = T2F(t,s); figure (1) plot (t,s); axis ([0,1,-1,1]); figure (2) plot (f, abs (sf)); axis ([-30,30,0,55]); |
其中的函数T2F是信号的傅里叶变换
1 2 3 4 5 6 7 8 9 10 11 | %% 函数 计算信号的傅里叶变换 function [f, sf] = T2F(t,st) % t为时域采样点;st为采样的时域信号 dt = t(2) -t(1); % T = t(end); T = t( end )-t(1)+dt; df = 1/T; N = length (st); f = -N/2*df : df: N/2*df - df; sf = fft (st); sf = T/N * fftshift (sf); end |
还有F2T傅里叶反变换
1 2 3 4 5 6 7 8 9 10 11 | %% 计算信号频谱 sf 的傅里叶反变换 function [ t, st ] = F2T( f, sf ) df = f(2)-f(1); Fmx = f( end )-f(1)+df; dt = 1/Fmx; N = length (sf); T = dt * N; t = 0 : dt : T-dt; % 或 t = -T/2 : dt : T/2-dt; sff = fftshift (sf); st = Fmx * ifft (sff); end |
常记溪亭日暮,沉醉不知归路。兴尽晚回舟,误入藕花深处。争渡,争渡,惊起一滩鸥鹭。
昨夜雨疏风骤,浓睡不消残酒。试问卷帘人,却道海棠依旧。知否?知否?应是绿肥红瘦。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义