Output the audio signal (*.bin) with filtering by IIR filter in the SD card using onboard CODEC. For *.wav file, F746_SD_WavPlayer and F746_SD_GraphicEqualiser are published on mbed. SD カードのオーディオ信号 (*.bin) を遮断周波数可変の IIR フィルタを通して,ボードに搭載されているCODEC で出力する.*.wav 形式のファイル用には,F746_SD_WavPlayer と F746_SD_GraphicEqualiser を mbed で公開している.

Dependencies:   BSP_DISCO_F746NG_patch_fixed F746_GUI LCD_DISCO_F746NG SDFileSystem_Warning_Fixed TS_DISCO_F746NG mbed

Committer:
MikamiUitOpen
Date:
Fri Apr 08 13:11:53 2016 +0000
Revision:
0:6748e3332e85
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:6748e3332e85 1 //------------------------------------------------------------------------------
MikamiUitOpen 0:6748e3332e85 2 // IIR フィルタを双一次 z 変換で設計し,その周波数特性を描画するためのクラス -- Header
MikamiUitOpen 0:6748e3332e85 3 //
MikamiUitOpen 0:6748e3332e85 4 // 2016/04/06, Copyright (c) 2016 MIKAMI, Naoki
MikamiUitOpen 0:6748e3332e85 5 //------------------------------------------------------------------------------
MikamiUitOpen 0:6748e3332e85 6
MikamiUitOpen 0:6748e3332e85 7 #ifndef F746_DISIGNER_AND_DRAWER_HPP
MikamiUitOpen 0:6748e3332e85 8 #define F746_DISIGNER_AND_DRAWER_HPP
MikamiUitOpen 0:6748e3332e85 9
MikamiUitOpen 0:6748e3332e85 10 #include "NumericLabel.hpp"
MikamiUitOpen 0:6748e3332e85 11 #include "TouchPanelDetectorX.hpp"
MikamiUitOpen 0:6748e3332e85 12 #include "BiquadFrqRespDrawer.hpp"
MikamiUitOpen 0:6748e3332e85 13 #include "BilinearDesignLH.hpp"
MikamiUitOpen 0:6748e3332e85 14
MikamiUitOpen 0:6748e3332e85 15 namespace Mikami
MikamiUitOpen 0:6748e3332e85 16 {
MikamiUitOpen 0:6748e3332e85 17 class DesignerDrawer
MikamiUitOpen 0:6748e3332e85 18 {
MikamiUitOpen 0:6748e3332e85 19 public:
MikamiUitOpen 0:6748e3332e85 20 // Constructor
MikamiUitOpen 0:6748e3332e85 21 DesignerDrawer(uint16_t x0, uint16_t y0,
MikamiUitOpen 0:6748e3332e85 22 uint16_t db10, int fs, int order,
MikamiUitOpen 0:6748e3332e85 23 float fc, uint16_t fL, uint16_t fH,
MikamiUitOpen 0:6748e3332e85 24 BilinearDesign::Type lpHp);
MikamiUitOpen 0:6748e3332e85 25
MikamiUitOpen 0:6748e3332e85 26 ~DesignerDrawer();
MikamiUitOpen 0:6748e3332e85 27
MikamiUitOpen 0:6748e3332e85 28 // フィルタの再設計と周波数特性の再描画
MikamiUitOpen 0:6748e3332e85 29 bool ReDesignAndDraw(Biquad::Coefs *ck, float &g0,
MikamiUitOpen 0:6748e3332e85 30 BilinearDesign::Type lpHp);
MikamiUitOpen 0:6748e3332e85 31
MikamiUitOpen 0:6748e3332e85 32 // 周波数特性の描画
MikamiUitOpen 0:6748e3332e85 33 void DrawResponse();
MikamiUitOpen 0:6748e3332e85 34
MikamiUitOpen 0:6748e3332e85 35 void GetCoefficients(Biquad::Coefs *ck, float &g0);
MikamiUitOpen 0:6748e3332e85 36
MikamiUitOpen 0:6748e3332e85 37 uint16_t GetOrder() { return ORDER_; }
MikamiUitOpen 0:6748e3332e85 38
MikamiUitOpen 0:6748e3332e85 39 private:
MikamiUitOpen 0:6748e3332e85 40 LCD_DISCO_F746NG *lcd_;
MikamiUitOpen 0:6748e3332e85 41 TS_DISCO_F746NG *ts_;
MikamiUitOpen 0:6748e3332e85 42
MikamiUitOpen 0:6748e3332e85 43 const uint16_t X0_, Y0_;
MikamiUitOpen 0:6748e3332e85 44 const uint16_t DB10_;
MikamiUitOpen 0:6748e3332e85 45 const uint16_t ORDER_;
MikamiUitOpen 0:6748e3332e85 46 const uint16_t CURSOR_Y0_, CURSOR_LENGTH_;
MikamiUitOpen 0:6748e3332e85 47 const uint16_t LOWER_F_, HIGHER_F_;
MikamiUitOpen 0:6748e3332e85 48 const uint32_t CURSOR_COLOR_, CURSOR_TOUCHED_COLOR_;
MikamiUitOpen 0:6748e3332e85 49
MikamiUitOpen 0:6748e3332e85 50 BilinearDesign::Coefs *coefs_; // 設計された係数
MikamiUitOpen 0:6748e3332e85 51 Biquad::Coefs *ck_;
MikamiUitOpen 0:6748e3332e85 52 float g0_; // 設計された係数(利得定数)
MikamiUitOpen 0:6748e3332e85 53
MikamiUitOpen 0:6748e3332e85 54 int fC_; // 遮断周波数
MikamiUitOpen 0:6748e3332e85 55
MikamiUitOpen 0:6748e3332e85 56 uint16_t cursorX_, oldCursorX_;
MikamiUitOpen 0:6748e3332e85 57 bool cursorRedraw_;
MikamiUitOpen 0:6748e3332e85 58 BilinearDesign::Type lp_;
MikamiUitOpen 0:6748e3332e85 59
MikamiUitOpen 0:6748e3332e85 60 BiquadFrqRespDrawer *drawerObj_;
MikamiUitOpen 0:6748e3332e85 61 BilinearDesign *designObj_;
MikamiUitOpen 0:6748e3332e85 62 TouchPanelDetectorX *tp_;
MikamiUitOpen 0:6748e3332e85 63 NumericLabel<int> *lblFrq_;
MikamiUitOpen 0:6748e3332e85 64
MikamiUitOpen 0:6748e3332e85 65 // 周波数を 10, 20, 50, 100 Hz の倍数にする
MikamiUitOpen 0:6748e3332e85 66 int Frq10(float f);
MikamiUitOpen 0:6748e3332e85 67
MikamiUitOpen 0:6748e3332e85 68 // 周波数特性の目盛線と目盛値の描画
MikamiUitOpen 0:6748e3332e85 69 void DrawAxisNum();
MikamiUitOpen 0:6748e3332e85 70 };
MikamiUitOpen 0:6748e3332e85 71 }
MikamiUitOpen 0:6748e3332e85 72 #endif // F746_DISIGNER_AND_DRAWER_HPP