首页
发现
课程
培训
文章
案例
问答
需求
服务
行家
赛事
热门搜索
发布
消息
注册
|
登录
首页
/
文章
/
详情
《Contemporary Communication ...... MATLAB》(2)调制代码
精品
作者优秀
平台推荐
详细信息
文章亮点
作者优秀
优秀教师/博士学历/特邀专家/独家讲师
平台推荐
内容稀缺
算法工匠
1年前
浏览2006
关注
之前给了书籍,这次给出代码!书籍代码和本人写的代码!本人代码只限于模拟通信,数字通信的内容见下一篇文章!经过三个月的整理,终于在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
粉丝 2850
文章 607
课程 40
点赞
收藏
作者推荐
可试听
MATLAB通信工程师的必修课 绪论
¥150
5.0
立即查看
0/200
清空
提交
还没有评论
课程
培训
服务
行家
Matlab电化学
Matlab通信仿真信噪比等效转换专题:全网讲信噪比等效转换最透彻的课程就在这里!
大学本科课程 卫星通信 第一部分
大学本科课程 卫星通信 第三部分
相关推荐
CST超材料表面仿真实战课程10讲:微波、太赫兹、光学人工合成复合超表面材料研究
MATLAB通信工程师的必修课 第四章 信号捕获和同步 第二部分
MATLAB通信工程师的必修课 第四章 信号捕获和同步 第三部分
从Matlab算法仿真到产品应用的关键技术与方法
最新文章
Maxwell中如何导出图片-copy image和python方法
建筑AI项目落地避坑指南:这5个问题,比模型能力更值得关注
跟一篇从投稿到发表仅24小时的文章,学习国内某期刊合规提高 IF 的方法
干货 | 一文读懂金属材料分析主流检测仪器
看不见的“刹车”:模态测试中,阻尼是如何藏在FRF曲线里的?
热门文章
通用/泛亚/蔚来/弗迪/上海电驱动等百位新能源专家确认发言,易贸三电活动6月苏州见
哪种薯片造型不容易碎 | 产品探索
【医疗器械】COVID-19呼吸面罩模型3D图纸 STEP格式
【工程机械】专用冲孔机3D数模图纸 Solidworks设计
机械动图第578期:超赞的制冷空调动图(3)
其他人都在看
VirtualLab Fusion | 白光迈克尔逊干涉仪
FRED | 照明系统颜色优化案例
CFD 近壁网格怎么选?先搞懂壁函数
接触问题为什么高度非线性?从接触约束的数学条件讲明白
同样是弧形铝板,为什么双曲价格直接翻几倍?
VIP会员
学习计划
福利任务
下载APP
联系我们
微信客服
联系客服
人工服务时间为周一至周五的9:30-19:30
非工作时间请在微信客服留言
客服热线:
4000-969-010
邮箱:
service@fangzhenxiu.com
地址:
北京市朝阳区莱锦创意园CN08座
帮助与反馈
返回顶部