我正在做一个mp3解码器项目,我已经构建了一个以mp3格式解码歌曲的功能:
function [PCM_output,frequency] = decode(mp3song)
在代码的最后,我添加了几行来绘制PCM波形:
t=0:0.01:120;
plot(t,PCM_output);
title('PCM waveform');
但它显示错误:
矢量必须长度相同。
如何解决错误?此外,是否可以以PCM格式输出解码的歌曲?
附加问题: 我想比较mp3和PCM输出,如下图所示: MP3 - Amplitude vs Time
为什么PCM有两个输出叠加在一起?是因为输出端的左右声道吗?
答案 0 :(得分:0)
如果您尝试绘制声波,则只需要将t
向量与PCM_output
的长度相同。所以,而不是t=0:0.01:120
,你需要
t=linspace(0,120,length(PCM_output(1,:)));