gpt4 book ai didi

matlab - 在Matlab中生成DAC音频信号

转载 作者:行者123 更新时间:2023-12-03 00:45:13 26 4
gpt4 key购买 nike

我一直在尝试使用Matlab制作和理解ADC。我编写了这个小程序,可以修改波形的位数(2 ^ 8,8为位数,可以从1变为64)。但是,在计算机上播放声音时,听起来好像有什么声音停止了声音。可以更改频率,但是问题仍然存在。我想知道我做错了什么?

clf                         %clr screen

t = 0:1:1600
fs = 1000

senial = sin((2*pi*t)/fs)

quant=max(senial)/(2^8) % R/L = size of sep

y=round(senial/quant) % Quantizationto 2^N bit
signe=uint8((sign(y)'+1)/2) % transforms it to int 8 bit
out=[signe] % The first bit represents the sign of the number

sound(y,fs)
plot(y,'b');

最佳答案

有几件事。首先,您生成的正弦波仅为1Hz,因此您将永远无法听到它。

t = 0:1:1600                  
fs = 1000
freq = 440

senial = sin(2*pi*t*freq/fs)
play(senial, 1000)

下一个问题是量化问题。除了没有将数据重新归一化到-1到1范围外,几乎就在那里。您可能正在听剪辑。尝试这样的事情:
y = round(senial*2^8)/2^8

这是一个示例(为了使绘图更简单,再次输入了1Hz)
plot(round(sin(2*pi*t/1000)*2^4)/2^4)

关于matlab - 在Matlab中生成DAC音频信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28062892/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com