FFT アナライザ このプログラムの説明は,CQ出版社「トランジスタ技術」の2021年10月号から開始された連載記事「STM32マイコンではじめるPC計測」の中にあります.このプログラムといっしょに使うPC側のプログラムについても同誌を参照してください.

Dependencies:   Array_Matrix mbed SerialTxRxIntr DSP_ADDA UIT_FFT_Real Window

Committer:
MikamiUitOpen
Date:
Wed Nov 03 01:29:16 2021 +0000
Revision:
1:d9dbfbe95c8d
Parent:
0:e5fc70976c00
2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:e5fc70976c00 1 //-----------------------------------------------------
MikamiUitOpen 0:e5fc70976c00 2 // 縦続形 IIR フィルタの次数と係数の定義
MikamiUitOpen 0:e5fc70976c00 3 //
MikamiUitOpen 1:d9dbfbe95c8d 4 // 2021/10/08, Copyright (c) 2021 MIKAMI, Naoki
MikamiUitOpen 0:e5fc70976c00 5 //-----------------------------------------------------
MikamiUitOpen 0:e5fc70976c00 6
MikamiUitOpen 0:e5fc70976c00 7 #include "Biquad.hpp"
MikamiUitOpen 0:e5fc70976c00 8
MikamiUitOpen 0:e5fc70976c00 9 // FFT アナライザで使うフィルタ
MikamiUitOpen 0:e5fc70976c00 10 // 標本化周波数が 102.4 kHz の場合,5.24 kHz 以上で
MikamiUitOpen 0:e5fc70976c00 11 // 少なくとも 60 dB 減衰させる LPF
MikamiUitOpen 0:e5fc70976c00 12
MikamiUitOpen 0:e5fc70976c00 13 // 低域通過フィルタ
MikamiUitOpen 0:e5fc70976c00 14 // 連立チェビシェフ特性
MikamiUitOpen 0:e5fc70976c00 15 // 次数    : 10 次
MikamiUitOpen 0:e5fc70976c00 16 // 標本化周波数:102.4000 kHz
MikamiUitOpen 0:e5fc70976c00 17 // 遮断周波数 : 5.0000 kHz
MikamiUitOpen 0:e5fc70976c00 18 // 通過域のリップル: 0.50 dB
MikamiUitOpen 0:e5fc70976c00 19 // 阻止域の減衰量 :60.00 dB
MikamiUitOpen 0:e5fc70976c00 20
MikamiUitOpen 0:e5fc70976c00 21 const int ORDER1_ = 10;
MikamiUitOpen 0:e5fc70976c00 22 const Biquad::Coefs CK1_[] = {
MikamiUitOpen 0:e5fc70976c00 23 { 1.820963E+00f, -8.355312E-01f, -9.111580E-01f, 1.0f}, // 1段目
MikamiUitOpen 0:e5fc70976c00 24 { 1.853721E+00f, -9.012503E-01f, -1.783341E+00f, 1.0f}, // 2段目
MikamiUitOpen 0:e5fc70976c00 25 { 1.881627E+00f, -9.570190E-01f, -1.871513E+00f, 1.0f}, // 3段目
MikamiUitOpen 0:e5fc70976c00 26 { 1.895648E+00f, -9.843304E-01f, -1.892515E+00f, 1.0f}, // 4段目
MikamiUitOpen 0:e5fc70976c00 27 { 1.902771E+00f, -9.961831E-01f, -1.898312E+00f, 1.0f}}; // 5段目
MikamiUitOpen 0:e5fc70976c00 28 const float G01_ = 1.232249E-03f; // 利得定数
MikamiUitOpen 0:e5fc70976c00 29
MikamiUitOpen 0:e5fc70976c00 30 // 白色雑音発生器で使うフィルタ
MikamiUitOpen 1:d9dbfbe95c8d 31 // 標本化周波数が 102.4 kHz の場合,
MikamiUitOpen 1:d9dbfbe95c8d 32 // 102.4/(4π) ≒ 8.15 kHz 以上で
MikamiUitOpen 0:e5fc70976c00 33 // 少なくとも 60 dB 減衰させる LPF
MikamiUitOpen 0:e5fc70976c00 34
MikamiUitOpen 0:e5fc70976c00 35 // 低域通過フィルタ
MikamiUitOpen 0:e5fc70976c00 36 // 連立チェビシェフ特性
MikamiUitOpen 0:e5fc70976c00 37 // 次数    : 6 次
MikamiUitOpen 0:e5fc70976c00 38 // 標本化周波数:102.4000 kHz
MikamiUitOpen 0:e5fc70976c00 39 // 遮断周波数 : 5.0000 kHz
MikamiUitOpen 0:e5fc70976c00 40 // 通過域のリップル: 0.50 dB
MikamiUitOpen 0:e5fc70976c00 41 // 阻止域の減衰量 :60.00 dB
MikamiUitOpen 0:e5fc70976c00 42 const int ORDER2_ = 6;
MikamiUitOpen 0:e5fc70976c00 43 const Biquad::Coefs CK2_[] = {
MikamiUitOpen 0:e5fc70976c00 44 { 1.794327E+00f, -8.134116E-01f, -6.466692E-01f, 1.0f}, // 1段目
MikamiUitOpen 0:e5fc70976c00 45 { 1.830789E+00f, -8.923580E-01f, -1.704269E+00f, 1.0f}, // 2段目
MikamiUitOpen 0:e5fc70976c00 46 { 1.874859E+00f, -9.684694E-01f, -1.812154E+00f, 1.0f}}; // 3段目
MikamiUitOpen 0:e5fc70976c00 47 const float G02_ = 1.381274E-03f; // 利得定数