历史上的今天
返回首页

历史上的今天

今天是:2025年01月26日(星期日)

2019年01月26日 | 51DIY音乐频谱显示

2019-01-26 来源:eefocus

以前,每当看到家里的音箱功放上的几排小灯,随着播放的音乐如波浪般跳跃,或者在电脑上打开千千静听这个音乐播放软件时,看到那动感的频谱跟随音乐节奏优美的舞动着时,不禁思绪万千,要是自己某天能亲手用普通的单片机 DIY 这么一个东东,那将是多么有成就感的事情,至少对我们电子爱好者来说,这是许多人曾经梦想过的。伴随音箱里传来的美妙音乐,原本只能“听”的音乐,现在却还能“看”,给人带来视觉上的炫酷享受。


本文将带领你动手探究其中的奥秘,让我们给音乐赋予一个完美的视听极限。


一、理论篇

(一)理论基础概述

1)什么是频谱?什么是频谱显示?


说到“频谱”这个词,它好像是一种很神秘的东西,究竟什么是“频谱”?这便要从波形本身的来源说起。我们知道,一切声音都是由振动产生的。声音之所以千变万化各不相同,是因为它们的振动各不相同。看看琵琶,吉他或者其他的弦类乐器,可以发现它的每一根琴弦的直径都是不一样的。琴弦越细,音调也就越高。反之则越低。显然粗的弦就不如细的弦振动得快或者说是振动的频率高。产生音调高低的不同,就是由于振动的频率不同。很显然频率越高,音高也就越高。


频率的单位是赫兹(简写为 Hz),赫兹 (1857-1894),是德国物理学家,他发现了电磁波,为了纪念他,人们用它的名字来做为频率的单位。所谓的一赫兹,就是一秒钟振动一次。那么 440Hz 呢,当然就是每秒振动 440 次,这个声音就是音乐中的标准 A 音,是乐器定音的标准。而钢琴中央 C 的频率则是 261.63Hz。


我们人的耳朵能够听到的频率范围,是 20Hz 到 20000Hz。低于这个频率范围的声音叫次声波,而高于这个频率范围的声音叫做超声波。所以我们能听到的音乐的频率,即都在人耳可听到的这个范围之内,约从 20Hz 到 20KHz。


比如,下面的表格中是我们常见的一些人声的基频范围

• 男低音 80-320Hz

• 男中音 96-387Hz

• 男高音 122-488Hz

• 女低音 145-580Hz

• 女高音 259-1034Hz


根据傅立叶分析,任何声音可以分解为数个甚至无限个正弦波,而它们往往又包含有无数多的谐波分量。而它们又往往是时刻在变化着。所以一个声音的构成其实是很复杂的。将声音的频率分量绘制成曲线,就形成了频谱。


对频谱进行分析的仪器就是频谱分析仪,早期频谱仪都是模拟分析的。频谱仪的原理就是将声音以信号通过一系列不同中心频率的模拟带通滤波器。每个带通滤波器相当于一个共振电路,其特性由中心频率(步进的)、频带宽度及响应时间表示。在声音信号通过滤波器后,经过平方检波器,并进行平均之后,在每个频率上测定所传输的功率,从而得到信号的频谱。然而,传统的频谱仪受到滤波器性能的制约,因为模拟电路本身的特性所局限,滤波器的带宽和响应时间成反比,也就是说模拟滤波器的频率分辨力与时间分解能力之间存在矛盾。因为频谱仪所测量的往往都是非稳态声,一般来说,都是使用若干个滤波器来覆盖整个频率范围,并将信号同时并联地输入到这些滤波器上去。或者使用中心频率能够从低到高连续变化的滤波器。


随着科学技术的不断进步,现在我们所使用的基本不再是那些笨重而不准确的模拟仪器的频谱仪,取而代之的是基于处理器的软件分析法。它分析的数据来源其实是经过了 ADC(模数转换器件)转换后得出的数字信号,所以频谱仪软件所测量的信号准确度,很大程度取决于数模转换电路的性能。比起模拟滤波器,数字滤波器应该要更加迅速和精确。


2) 什么是均衡器和音乐频谱显示?在我们欣赏音乐的过程中有什么样的作用?


对于录音棚等专业级别的音乐制作来说,通常都需要对录制的音频信号进行频谱分析来辅助音频的加工制作。当然对于我们普通的爱好者来说,不需要那么精确的频谱分析,我们更多的是用来略显音乐节奏,美化环境,增添气氛。于是,大多数的音乐播放软件(如图一),手机,mp3,高档的音箱设备等,都有了音乐频谱显示。


在这里插入图片描述

图一 千千静听播放音乐时的频谱显示


当高级组合音响在工作时,你可以看到其中有一个部件上有一排一、二十个高高低低的推式调纽按频率高低自左而右排列,显示一种频率分布图;或者是还有一、二十个高高低低的光柱在不断地上下跳,时而中间起一个高峰,时而并排突起两、三个高峰,而且与音乐的高低和强度同步,高音越是强,高峰就偏右边;低音越强,高峰就偏左边,这就是均衡器及其联结的频谱显示。有时,也用一排色彩不同的条纹来显示,条纹的色彩亮度随声音的强弱而同步地改变。


我们知道,实际上每一种音乐声,包括哪怕是一个人的独唱,一件乐器的独奏,都包括了一系列从低到高不同频率的声波,更不要说是乐队演奏了。如果声音中低频成分多,听起来就较厚实;如果是高音成分多,听起来就比较明亮。有的人喜欢听低音成分多些,有些人喜欢听高音成分多些,各不相同。因此,以前的收录机上就有一个调节高低音的旋钮。把旋钮指向高音部位,高音就比较强;把旋钮指向低音部位,低音就比较强,这就是一个简单的均衡器。


好的声音效果,其各段频率成分应该有一定的比例,录音的时候,录音师操作调音台就可以使各段频率的成分得到调整。由于各种乐器的基频高低是不同的,所以,也可以使各种乐器之间的声音比例得到调整,常见的是把频率由低至高分成 5 段或 7 段、10 段或 15 段,有经验的录音师或音乐家能听出哪里(哪个频率段)“空”了,即这个频段弱。哪里“鼓了个包”,即这个频段过强。通过均衡器可以把这些予以弥补。又因为每个人对音乐中频率分布的欣赏标准是不同的,因此,各位录音师掌握的尺度也不同,显示出各自的风格。


录音师也可以在录音时做些“手脚”,例如,有的录音机低音部分不太好,于是在录音时就把低音部分加强,这样,在这台录音机上播放时,低音就得到了补尝,因此,你播放购买收录机随机奉送的“试机带”时,听起来常常总是非常动人的,但在播放正常的磁带时,往往就不行了。所以在正式试验整机和评比设备、磁带、唱片时,是不准用均衡器而且要用标准试机带的。由于每个人的欣赏和爱好的不同,有人喜欢低音“浓”些,有人则崇尚自然,也有人有时要强调某种乐器。因此在高级的放音设备上也有均衡器,可以根据每人不同的爱好去随心所欲地调整频率响应。同时,这也可以弥补录音带质量上的某些缺陷,例如,除了频响不平衡外,可以抑制某个频段上突出的噪声等。


3) 制作音乐频谱显示需要用到什么基础知识


首先,我们采用是基于微处理器的软件分析法,微处理器是本制作的核心部分,因此,选择一个合适的性能与配置的微处理器是关键,我选择增强型的 8051 单片机便能够满足本次制作的要求。软件上的分析法核心是快速傅立叶算法,简称 FFT。


4) 什么是 FFT?


FFT(Fast Fourier Transform)即离散傅立叶变换的快速算法。在数字信号处理中常常需要用到离散傅立叶变换(DFT),以获取信号的频域特征。尽管传统的 DFT 算法能够获取信号频域特征,但是算法计算量大,耗时长,且要求相当大的内存,不利于计算机实时对信号进行处理,限制了DFT 的应用。直到 Cooley& Tukey 在1965 年提出的快速离散傅立叶计算方法被发现,快速傅立叶变换算法才在实际的工程中得到广泛应用。需要强调的是,FFT 并不是一种新的频域特征获取方式,而是 DFT 的一种快速实现算法,可用来将一个信号从时域变换到频域。多数的复杂信号在进行频域变换之后,变换的目的实际上是从频域里来看同一个信号,从而容易分析出其信号的特性。这也是很多信号分析采用 FFT 变换的一个重要原因。另外,

FFT 能将一个信号的频谱提取出来,这在频谱分析方面也是经常使用的。


5) 如何使用 FFT?


首先,我们用 ADC 去采样一个模拟信号之后,使之变为数字信号。根据采样定理,因音频信号的最高频率约为 20Khz,若 adc 的采样频率设置为 40Khz,既有采样频率大于信号频率的两倍,就能基本满足要求。其次,将采样得到的数字信号,送入 FFT 进行变换处理。通常,若我们取 N 个采样点,经过 FFT 运算之后,就可以得到 N 个点的 FFT 结果。但通常为了方便进行 FFT 运算,通常 N 取 2 的整数次

方。设 Fs 为 ADC 的采样频率,N 为傅立叶变换的点数.则有最小分辨频率 f=Fs/N,因此频谱显示的最低频率就是 f Hz,以后每向右移一个点,频率值将增加 f Hz. 由于 FFT 结果的对称性,通常只使用前 N/2 个采样点的结果。


简而言之,使用 A/D 转换器对输入的音频信号进行采样以后,经过 FFT 变换,然后取某些频率项的幅值,量化显示,驱动 LED 点阵,点亮相应的 LED 灯。


关于采样点数的选择,要根据自己选择单片机的实际资源情况。比如STC12A32S2 单片机,只有 1280B RAM,我们取 64 点的 FFT 就可以满足要求,还达到更好的视觉效果,更高的刷新频率,以及为以后软件扩展留下余地。


(二)电路原理图

几个电路设计亮点

双音频插孔设计,不影响正常的音频输出,省去了音频分线器;


去掉音频输入处理的电平移动电路,简化电路,并加入软自动增益控制,实现自动根据音乐的声音大小调节显示幅度;


采用食人鱼 LED 来显示,不仅特别的亮,而且比用普通的草帽状 LED 效果更美,耐电流也更大,还省去了部分限流电阻,食人鱼 LED 有四个引脚,便于手工焊接,大量减少跳线


在这里插入图片描述

图二 MCU 部分的原理图


在这里插入图片描述


图三 点阵驱动电路图


(三)编程思路

在主函数中,单片机通过 AD 对音频数据采样,然后存放到数据缓存区进行预处理,完成 AD 滤波处理,自动增益控制信息扫描以及其他信息处理。接着,将缓存区数据送入 快速傅立叶变换(FFT)处理子函数进行运算。处理完后,从缓存区取出运算结果,根据得到幅值计算出点阵的显示数据,并存储到显示缓存区。


在中断函数中,根据显示缓冲区的内容对点阵显示屏进行实时刷新点亮。


(四) 程序流程图

在这里插入图片描述

在这里插入图片描述


推荐阅读

史海拾趣

FCI [First Components International]公司的发展小趣事

在电子行业中,FCI(First Components International)公司作为一家知名的连接器和互联系统制造商,其发展历程中确实有许多值得分享的故事。以下是关于FCI公司的五个发展故事:

  1. FCI的气体流量计与传感器技术突破

FCI作为一家全球性的气体流量计、气体和液体流量开关以及液位开关的制造商,其产品广泛应用于各种工业领域。为了满足不断增长的市场需求,FCI投入大量研发资源,成功开发出高精度、高可靠性的气体流量计和传感器。这些产品在化工、能源、环保等多个领域得到了广泛应用,为FCI赢得了良好的市场口碑。随着技术的不断创新和产品质量的持续提升,FCI逐渐成为了行业内的佼佼者。

  1. FCI中国分公司的成立与服务升级

随着中国市场的快速发展,FCI看到了在中国市场发展的巨大潜力。为了更好地服务中国客户,FCI决定在中国成立分公司。分公司的成立,不仅为FCI提供了更贴近本地市场的服务平台,还为其在中国市场的业务拓展提供了有力支持。分公司雇佣了一批在过程仪表和测量控制方面经验丰富的员工,并新增了数条经过认证的高精度流体标定台,以提供专业的服务和技术支持。这一举措显著提升了FCI在中国市场的竞争力和品牌影响力。

  1. FCI的AirMax VS高速背板连接器技术革新

为了满足未来高速数据传输的需求,FCI投入巨资研发新一代的高速背板连接器技术。经过多年的努力,FCI成功开发出了先进的AirMax VS高速背板连接器技术,为未来传输速率达到40Gb/s的设计奠定了基础。这一技术的推出,不仅巩固了FCI在连接器行业的领先地位,还为其在高速数据传输领域的发展打开了新的市场空间。

  1. FCI与航空领域的深度合作

随着航空技术的不断发展,对高精度传感器和流量计的需求也日益增长。FCI凭借其在气体流量计和传感器方面的技术优势,成功打入了航空领域市场。公司与多家知名航空企业建立了深度合作关系,为其提供定制化的产品和解决方案。这些产品在航空器的燃油系统、液压系统以及环境控制系统中发挥着重要作用,为航空安全提供了有力保障。

  1. FCI的全球化战略布局

为了适应全球化的市场趋势,FCI积极拓展其国际业务。公司通过并购、合资等方式,在全球范围内建立了多个生产基地和销售网络。这些举措不仅提高了FCI的生产效率和响应速度,还使其能够更好地服务全球客户。同时,FCI也加大了对新兴市场的投入,通过与当地合作伙伴的紧密合作,成功打入了多个具有潜力的市场领域。

以上五个故事展示了FCI在电子行业发展中的关键里程碑和重大成就。从技术创新到市场拓展,再到全球化布局,FCI始终保持着敏锐的市场洞察力和强大的竞争力,不断推动着电子行业的发展进步。

FILTRAN公司的发展小趣事

对于固态非易失性精密电位器构成的温度测量电路,网友可能关心的问题以及相应的回答如下:

  1. 固态非易失性精密电位器的工作原理是什么?
    • 回答:固态非易失性精密电位器(如X9C102/103/104/503)包含有99个电阻单元的电阻阵列。滑动单元的位置由CS、U/D和INC三个输入端控制,并且这个位置可以被存储在一个非易失性存储器中,因此在下一次上电时可以被重新调用。
  2. 这种电位器在温度测量电路中的具体应用是怎样的?
    • 回答:非易失性数控电位器如X9312可以构成温度测量电路,作为记数式模数转换电路。通过电位器的电阻值变化来反映温度的变化,实现温度的测量。
  3. 电位器的精度和分辨率如何?
    • 回答:非易失性数控电位器的分辨率等于最大的电阻值被99除。例如,X9C503(50kΩ)的每个抽头间的阻值为505Ω。精密电位器的精度可达0.1%。
  4. 非易失性存储器中的数据可以保存多久?
    • 回答:所有的Xicor非易失性存储器都设计成并经过测试能够用于持久地保存数据的应用场合。滑动端位置数据可保存100年。
  5. 这种电路对温度变化的响应速度如何?
    • 回答:由于参考文章中没有直接提及电位器对温度变化的响应速度,因此无法给出确切的数值。但一般来说,电位器的阻值变化与温度有一定的线性关系,可以较快地反映温度的变化。
  6. 在实际应用中需要注意哪些问题?
    • 回答:在实际应用中,需要注意电位器的额定功率、标称阻值、允许误差等级等参数。此外,电位器在低温环境下使用时需说明,以便采用特制的耐低温油脂。同时,电位器的轴或滑柄长度应尽量短,以提高稳定性和减少晃动。
  7. 电路的稳定性如何?
    • 回答:由于非易失性数控电位器具有非易失性存储功能,因此电路在上电时可以重新调用之前保存的电位器位置数据,从而保证了电路的稳定性。此外,电位器本身也具有较好的稳定性和可靠性。

以上是对固态非易失性精密电位器构成的温度测量电路网友可能关心的问题及相应回答的归纳和总结。

扬州国芯(Gcore)公司的发展小趣事

扬州国芯(Gcore)公司发展的五个故事

故事一:成立与初期发展

扬州国芯半导体有限公司成立于2011年,起初便定位于集成电路产品的设计、测试、销售与服务。公司总部位于历史文化名城扬州,并在深圳设立了销售办事处,以便更好地服务国内外市场。成立初期,扬州国芯便专注于研发集成度高、低噪声、低功耗、高可靠性的模拟芯片及数模混合芯片产品。通过不懈的努力,公司逐渐在运算放大器、比较器、电源管理等领域形成了自己的核心产品线,为后续的快速发展奠定了坚实基础。

故事二:技术创新与产品研发

扬州国芯深知技术创新是企业发展的核心动力。因此,公司不断加大研发投入,引进高端人才,并与国内外多所知名高校和科研机构建立了紧密的合作关系。经过多年的努力,扬州国芯成功研发出了一系列具有自主知识产权的芯片产品,如锂电池充电管理芯片、马达驱动芯片等,这些产品性能优越,品质可靠,迅速赢得了市场的认可。此外,公司还积极参与国家标准和行业标准的制定,进一步提升了企业的行业地位和影响力。

故事三:市场拓展与品牌建设

随着产品线的不断丰富和技术的持续创新,扬州国芯开始积极拓展国内外市场。公司通过参加各类行业展会、举办技术研讨会等方式,加强与客户的沟通和交流,不断提升品牌知名度和美誉度。同时,公司还注重售后服务体系的建设,为客户提供全方位、一站式的解决方案和服务。这些措施有效地推动了公司市场份额的快速增长,使扬州国芯在激烈的市场竞争中脱颖而出。

故事四:政府支持与产业合作

扬州国芯的发展离不开当地政府的支持和产业合作。近年来,扬州市政府高度重视电子信息产业的发展,出台了一系列优惠政策和扶持措施,为扬州国芯等高科技企业提供了良好的发展环境。同时,公司还积极与上下游产业链企业开展合作,共同推动产业链的协同发展。这些合作不仅有助于降低生产成本、提高产品质量,还有助于公司更好地把握市场动态和客户需求,实现持续稳健的发展。

故事五:国际化战略与未来展望

面对全球集成电路产业的快速发展和市场竞争的日益激烈,扬州国芯制定了明确的国际化战略。公司积极寻求与国际知名企业的合作机会,引进先进的技术和管理经验,提升企业的国际竞争力。同时,公司还计划在海外设立研发中心和销售网络,以便更好地服务全球客户。展望未来,扬州国芯将继续秉承“以人才为根本、以市场为导向、以技术为核心、以顾客为目标”的经营宗旨,不断开创新的辉煌篇章。

HANA Micron公司的发展小趣事

为了更好地服务全球客户,Hama积极实施国际化战略,在全球范围内设立了多家子公司。这些子公司不仅负责当地市场的销售和服务工作,还积极参与技术研发和产品创新活动。通过全球子公司的协同作战,Hama成功实现了资源的优化配置和市场的深度覆盖。目前,Hama在全球拥有约2500名员工、5亿欧元的业务和19家全球子公司,已成为国际知名的电子配件供应商之一。未来,随着全球市场的不断变化和发展,Hama将继续加强全球子公司的建设和布局,为公司的长远发展奠定坚实基础。

Emmoco公司的发展小趣事

Emmoco公司成立于XXXX年,由一群富有远见和创新精神的电子工程师创立。公司自创立之初就明确了以技术创新为核心的发展道路,专注于研发高性能的电子元器件和模块。经过初期的不懈努力,Emmoco成功推出了一系列具有竞争力的产品,为公司的后续发展奠定了坚实的基础。

GeneSiC公司的发展小趣事

在稳固了电子元器件和模块市场地位后,Emmoco开始寻求多元化发展。公司利用自身的技术优势和市场经验,逐步拓展产品线,涉足智能家居、物联网等领域。通过不断的技术创新和市场拓展,Emmoco成功实现了产品线的多元化,为客户提供更加全面和多样化的解决方案。

问答坊 | AI 解惑

梦幻五环如何发光

焰火渐渐熄灭,却在地上聚集出了一个奥运五环的标志。这个标志像是吸引了附近的火星,越来越亮,后来更是缓缓升上了半空——奥运开幕式上的这段表演几乎只能用“梦幻”来形容。像网友们评价的那样,这是一个富有冲击力和想象力的表演项目。那么,这 ...…

查看全部问答>

电子技术视频教程

714电子实验室下载资源整理,提供大量电子技术视频教程,大型EDA软件和教程等下载。…

查看全部问答>

急!安装凌华采集卡、控制卡 出现的问题

跪求高手指点:    在安装凌华采集卡驱动时,系统提示:If your drivers DO NOT perform DMA and INTERUPT Operation ,                         & ...…

查看全部问答>

CORTEX-M3启动文件

昨天参加了MCUDAY 研讨会,得到一个消息是Cortex-M3启动文件可以用C语言编写,不知论坛的朋友们有谁有编写启动文件的经验,给小弟介绍一下。…

查看全部问答>

关于数据采集卡的问题

   本人新做一个有关数据采集的项目,问些比较菜的问题~!!  见笑啊    数据采集卡是12位的,用256k的频率进行数据采集,fifo缓冲区是8k*16bit。    我想知道这个缓冲区能存多少个数,缓冲区存满需要多 ...…

查看全部问答>

如何用LED灯闪烁频率不同表现系统工作状态

现在有一个ARM7系统,想用LED灯闪烁频率不同来表示系统的工作状态。该LED灯通过一个GPIO来控制,谁能给一个思路? 谢谢…

查看全部问答>

计算器如何运算1+1=2

就拿我们现实中普通的计数器来说吧,当我按下1键后,在它内部会产生什么情况?难道会产生一股电流?这股电流如何把1这个信息存储在内部某个元件上啊?这个元件是如何存储它的啊?我需要详细的了解最最底层的原理啊,硬件是如何识别0和1的?如何存储 ...…

查看全部问答>

关于三星Armv4-2410ep教学开发板上串口的问题

各位大师们好     我现在在三星Armv4-2410ep教学开发板上做串口通信的开发。我是在Windows Ce 4.2的平台下作的。台子上的Serial 0,我可以轻松搞定,可是Serial 2我怎么调也调不成功?这是为什么?     答案正确,一定给分 ...…

查看全部问答>

请问evc中如何快速获取一个大文件的总行数?

文件比较大,怎样才能快速获取它的总行数,总不能一行一行的加吧。请各位高手指教!…

查看全部问答>

ARM,FPGA学习群QQ:37392778,有高级工程师指导做项目,想学习者加入

想学习ARM,FPGA,相关开发的,有工程师指导,现有开发项目,可长期指导…

查看全部问答>