• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

怎么用STM32判断输入的音频信号频率

夹心英雄 2019-12-27 浏览量:873
这个输入的频率要怎么通过STM32来识别
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 可以使用施密特电路对你的音频信号进行处理,处理之后输出的就是脉冲信号,再用STM32的高级定时器采集脉冲计算频率即可
    • 发布于 2019-12-31
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • 音频谐波范围比较广 可以通过fft算法识别基频和谐波 但是处理速度要求比较高

    如果用自带的adc来检测 adc的处理速度应该达不到要求 要外挂高速ad

    • 发布于2019-12-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 音频信号需要用adc采集,然后用fft分析频谱,找到最高的那个频率就是了
    • 发布于2020-01-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 同意楼上的使用FFT分析频率,一搬幅值最高的那个就是。

    如果你不想这么麻烦也可以对输入信号做过零检测(前提是你的信号足够干净)计算两次过零的时间来计算频率,还可以通过多个过零求平均让计算的频率更准确。

    • 发布于2020-01-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以使用STM32的定时器捕获功能,测量出两个信号的时间差,再计算频率
    • 发布于2020-01-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以用STM32的ADC去采集,然后进行FFT,得到频率
    • 发布于2020-01-18
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

怎么用STM32判断输入的音频信号频率