首页
发现
课程
培训
文章
案例
问答
需求
服务
行家
赛事
热门搜索
发布
消息
注册
|
登录
首页
/
文章
/
详情
《Contemporary Communication ...... MATLAB》(2)调制代码
精品
作者优秀
平台推荐
详细信息
文章亮点
作者优秀
优秀教师/博士学历/特邀专家/独家讲师
平台推荐
内容稀缺
算法工匠
1年前
浏览2293
关注
之前给了书籍,这次给出代码!书籍代码和本人写的代码!本人代码只限于模拟通信,数字通信的内容见下一篇文章!经过三个月的整理,终于在2024年11月和大家见面了。
本人写的代码是在学生写的基础上修订完成。之前给学生讲解了每个程序,顺道将代码改成了本人的编写风格,当然也加入了一些实际“因素”!这些因素恰恰是工作中会遇到的!先看书籍代码中的内容!
原先程序存在很多不规范之处,修改后方能运行!
函数名修改正确!但书中
没有AM解调程序!那我来给大家补充了!为什么需要补充程序呢?是为了让大家能够知道在实际中如何使用这些知识!
那么在实际使用中,AM又如何发挥作用呢?
依旧通过程序来说明!这是最好的理论用于实践的过程!这样的学习才适用于工科生!请看代码!
% Load audio signal (as message signal)
[file, path] = uigetfile('*.wav', 'Select an Audio File'); % Load a .wav file
[audio_signal, Fs_audio] = audioread(fullfile(path, file));
Fs = Fs_audio;
% Sampling frequency (Hz), usually 11025 Hz - 44100 Hz
% WAV 文件中的关键参数:
% RIFF Header:标识这是一个 RIFF(资源互换文件格式) 文件。
% Format Chunk:
% Subchunk1 ID:通常是 "fmt "。
% Subchunk1 Size:格式块的大小(通常为 16 字节)。
% Audio Format:音频格式(PCM 通常为 1)。
% Num Channels:声道数(例如,1 表示单声道,2 表示立体声)。
% Sample Rate:采样频率,以赫兹(Hz)表示。
% Byte Rate:每秒传输的字节数(Sample Rate × Num Channels × Bits Per Sample / 8)。
% Block Align:每个采样的字节数(Num Channels × Bits Per Sample / 8)。
% Bits Per Sample:每个样本的比特数(通常为 16、24 或 32)。
% Data Chunk:
% Subchunk2 ID:通常是 "data"。
% Subchunk2 Size:音频数据的大小。
% Audio Data:实际的音频样本数据。
% Normalize the audio signal
audio_signal = audio_signal / max(abs(audio_signal));
% Normalize between -1 and 1
% Resample audio signal if its sampling frequency differs from the desired Fs
if Fs_audio ~= Fs
audio_signal = resample(audio_signal, Fs, Fs_audio);
end
% Time vector for the signal
t = (0:length(audio_signal)-1) / Fs;
% Generate carrier signal
carrier_signal = cos(2 * pi * Fc * t)';
% Modulation (AM)
AM_signal = (1 + audio_signal) .* carrier_signal;
% Plot the modulated signal
figure;
subplot(3, 1, 1);
plot(t, audio_signal);
title('Original Audio Signal');
xlabel('Time (s)');
ylabel('Amplitude');
subplot(3, 1, 2);
plot(t, AM_signal);
title('AM Modulated Signal');
xlabel('Time (s)');
ylabel('Amplitude');
% Demodulation using envelope detection
demodulated_signal = abs(hilbert(AM_signal)) - 1;
% Subtract 1 to remove the DC offset
% Normalize the demodulated signal to match the original
demodulated_signal = demodulated_signal / max(abs(demodulated_signal));
% Plot demodulated signal
subplot(3, 1, 3);
plot(t, demodulated_signal);
title('Demodulated Audio Signal');
xlabel('Time (s)');
ylabel('Amplitude');
% Play the original audio
disp('Playing original audio...');
sound(audio_signal, Fs);
pause(length(audio_signal)/Fs + 1); % Wait until audio finishes playing
% Play the demodulated audio
disp('Playing demodulated audio...');
sound(demodulated_signal, Fs);
知识的难度在加大,趣味性也在增加!想学那就赶紧的!学懂了模拟调制技术也算是通信入门了!不过数字调制技术的难度远大于
模拟调制技术,看了本人写的代码自然就明了。
通信原理与matlab仿真v3 第四章 BPSK调制解调器 再绪
......
一个系列!打开文章后,底部会出现目录。这个目录里面的文章所包含的代码是通信知识的最好实践!建议入门者好好学习!下面的这些代码都是经过本人的调试,注释非常的全面,肯定对大家有帮助!很多内容还和产品相关,包含工程经验。
讲了这么多内容,请大家赶快下载此书开始学起来吧,下一篇文章再给出相关的代码吧!
友情提醒:
只有一天有效!
给出二维码链接!如果买过后,发现链接过期,请留言给我,本人会通过后台发送新的链接。
来源:通信工程师专辑
登录后免费查看全文
立即登录
ACT
MATLAB
通信
UM
理论
Origin
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-11-08
最近编辑:1年前
算法工匠
博士后
|
高级工程师
诚信做事 认真讲课 传播知识
关注
获赞 428
粉丝 2862
文章 635
课程 40
点赞
收藏
作者推荐
可试听
MATLAB通信工程师的必修课 绪论
¥150
5.0
立即查看
0/200
清空
提交
还没有评论
课程
培训
服务
行家
Matlab电化学
从Matlab算法仿真到产品应用的关键技术与方法
大学本科课程 卫星通信 第三部分
CST超材料表面仿真实战课程10讲:微波、太赫兹、光学人工合成复合超表面材料研究
相关推荐
MATLAB通信工程师的必修课 第四章 信号捕获和同步 第三部分
大学本科课程 卫星通信 第一部分
Matlab通信仿真信噪比等效转换专题:全网讲信噪比等效转换最透彻的课程就在这里!
MATLAB通信工程师的必修课 第四章 信号捕获和同步 第二部分
最新文章
零厚度裂隙的两种建模方法,结果差了 10 倍
修复STAR CCM+启动时的错误
【JY】等效线性化:把隔震支座的滞回环收成一根弹簧,我们丢掉了什么?
softbond vs pb:断键之后,试样靠什么扛住
PFC 的平行键模型,为什么画不出真实岩石的强度包络?
热门文章
通用/泛亚/蔚来/弗迪/上海电驱动等百位新能源专家确认发言,易贸三电活动6月苏州见
SOLIDWORKS多实体如何拆分保存为单个零件?
【工程机械】气动升降平台3D模型图纸 x_t格式
【非标数模】J1303-A0001包装机3D数模图纸 STEP格式
哥伦比亚大学:科学设计锂电电极的客观规律
其他人都在看
【JY】剪重比:规范里那道「最小水平力」,到底在兜什么底?
NVH工程案例:低速 8 字弯一踩电门就"呜鸣"异响,真凶是差速器行星齿轮干摩擦
轴承也会"被电伤"? ——驱动电机电腐蚀导致的NVH问题追凶与拆招
你可能看懂了FFT的幅值,却一直忽略了相位
如何计算上覆应力? 从密度曲线到 Sᵥ 剖面
VIP会员
学习计划
福利任务
下载APP
联系我们
微信客服
联系客服
人工服务时间为周一至周五的9:30-19:30
非工作时间请在微信客服留言
客服热线:
4000-969-010
邮箱:
service@fangzhenxiu.com
地址:
北京市朝阳区莱锦创意园CN08座
帮助与反馈
返回顶部