不连续得世界──采样率与bit数详解

门子 发布于2005-05-07 暂无评论
不连续得世界??采样率与bit数详解

(作者门子,转载请告知本人并署名作者,谢谢!)

01011101010010100010101010101010111101010001010101010101011100101010101010101111010100
10101011110101000101010101000101010101000101010101000101010101000101010101000101010101001001
01000101010101010101111010100010101010101010111001010101010101011110101000100101000101010101
01010111101010001010101010101011100101010101010101111010100101010111101010001010101010001010
10101000101010101000101010101000101010101000101010101010101011110101000101010101000101010101
00010101010100010101010100010101010100010101010100100101000101010101010101111010100010101010
10101011100101010101010101111010100101010111101010001010101010001010101010001010101010001010
101010001010101010001010101010

这是什么??门子你不要和我们说鸟语啊!!呵呵,很抱歉这是电脑得语言。在电脑得世界中,所有 得一切,无论是游戏,视频或音频还是文本都是由0和1这两个神奇得数字组成得。又得朋友也许不信?? 那我在显示器上看的,音箱上听得怎么不是0和1啊,呵呵,你可以把操作系统想象成一个翻译。专门来翻 译在电脑和人之间。好的,言规正传,我们看看声音是怎么被科学家们变成0和1的吧!

如果你是一个科学家,你怎么把声音变成0和1?按照分贝数来分?哈哈,那就完蛋了。因为大家要注 意分贝数在电脑里是负的,而负无穷就是没有声音。怎么记录负无穷呢?

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000???

这也不是负无穷。因为负无穷是无穷位的,也就是说,你用1000张dvd也记录不了哪怕一秒的声音。 那我们用什么来记录呢???用相位图啦!



这就是按照声音的震动来记录的相位图。具体我懒得说了学过高中物理的人都能懂。我们关键还是看 看如何把它变成0和1吧!

时间在物理学经典理论中就是一条静静流逝的河。无论我们作什么或不作什么,它都会慢慢的流走。 那么也就是说,他是线性的不会出现颠簸。如果我们能建立一个振幅与时间对应的函数:Y(振幅)=f( t)我们就能有效的记录它。(什么?你想用侠义相对论?我这样回应你!)可惜的是没有一个公式能通 过结果算出计算式,所以我们没法把所有声音都建立成一个简单的数学公式(不过sine,白噪音这样简单 的声音就可以变成公式被记录)。所以我们要想另外的方法记录它。

有聪明人估计已经想到了:记录每个t对应的y即可!



这个想法很聪明,可是他忘了一个事,函数是连续的,无论我们把它放大到多大,它都是有无穷个点组成 的。



这就又回到我们原来的问题上了,如果我们对每个t都写出对应的y来,数据量又将是无穷多。那到底怎 么办啊!!!!

忘了是哪个数学家了,他研究出这么一个理论:

怎么用有限离散(即非连续的一些数据)来表示一个连续的函数呢?这正是我们想要的!! 他的结论是:只要这个函数(振动)的频率是有限范围内的,我们就可以用有限个点来表示它 (证明过程略,想看可以去翻文献小波变换之类),后来人们根据这个理论,研究了这样一套记录声音的 办法:采样率记录:

一个声音放出来后,用一些“刀去切它”,下刀的时间间隔是一样的,记录没一刀切在了纵坐标的什 么位置上。这样就能用有限个点表示无数点了。



当然,由于理论基础是“频率在有限范围内”的波,所以采样率深深的与波的最大频率有关。后经实 验,采样频率最大记录等于其一半的频率。我们常用的44100hz,最多只能记录22050hz的声音。



这里要说明的是,频率=1/周期,比如44100采样频率就是=每1/44100秒采一个点。

“我是声卡,我转换我记录,我记录一个采样点我记录两个采样点。1号采样点是0.221 第二个采样 点是0.545 第3个采样点…………坏了!!是个无理小数!!!!”得……又回到了用1000张dvd也记录 不了哪怕一秒的声音得问题上去了。看来每个采样点得记录也是要有讲究得。可能有的朋友说:“给四舍 五入一下不就没有无理数了?”呵呵,其实不光是这样一个问题:

1   343667
2   6587658
3   6587597
4   987
5   64635746
6   65684768
7   55
8   5437
9   0

这就是理想中得声音记录形式。看起来没有什么问题,把前面得序号省略,再写成2进制就是:

10101010  1010101  010100  1010  01010  1…… 可是大家不要忘了!二进制里可没有空格这一个东西!!也就是这一堆数应该写成:

1010101010101010101001010010101

就好比给你写一句话:

下雨天留客天,天留我不留!

如果不加标点,我完全可以理解为:

下雨天留客天,天留我不?留!

意思满拧……

所以,我们得近似也要留个峰值。何谓bit?就是说2得多少次方。

比如2bit就是2得2次方,我们常用得16bit就是2得16次方,等于65526

也就是说,我们告诉计算机,16个数位代表一个数,来记录声音,比如:

11010111010111111111111010000000000000111111111000000

计算机看到了之后,就知道了应该这样划分:

1101011101011111(16个) 1111111010000000(16个) 0000001111111110(16个) 00000 每个16个数位组成得为一个数。那么也就是说我们最大得一个数就是:

1111111111111111这个数,等于65526,由于振幅有正负,所以实际上它等于32768(让一般给负得振幅了 )也就是说,所以超过32768单位得振幅我们都无法记录!而只能记录到32768。这就是传说中得“消顶失 真”。即电平过0!

看明白了么?我累了本来还想接着写得……暂时先算了,希望对大家有所帮助!

文章出处 www.midifan.com

转载新闻请注明出自 Midifan.com

共有 0 条评论