pcm fm matlab代码实现
时间: 2023-12-14 09:05:13 浏览: 229
PCM的matlab实现
4星 · 用户满意度95%
以下是一个简单的PCM/FM信号的Matlab实现代码:
```matlab
% 采样率
Fs = 100000;
% 采样时间
t = 0:1/Fs:1;
% 输入信号
f = 1000;
x = sin(2*pi*f*t);
% 编码参数
bits = 8;
n = 2^bits;
% PCM编码
xmax = max(x);
xmin = min(x);
del = (xmax - xmin)/n;
partition = xmin:del:xmax;
codebook = xmin-(del/2):del:xmax+(del/2);
[index, quants] = quantiz(x, partition, codebook);
% FM调制
fc = 5000;
kf = 10;
y = fmmod(quants, fc, Fs, kf);
% FM解调
z = fmdemod(y, fc, Fs, kf);
% PCM解码
xq = codebook(index+1);
% 绘图
subplot(3,1,1); plot(t, x); title('原始信号');
subplot(3,1,2); plot(t, quants); title('PCM编码');
subplot(3,1,3); plot(t, z); title('PCM/FM解调');
```
该代码生成一个1000 Hz正弦波信号,使用8位PCM编码,然后进行FM调制和解调,最后绘制原始信号、PCM编码和PCM/FM解调后的信号。
阅读全文