CQエレクトロニクス・セミナで使用するプログラム.AD変換された信号をアップサンプリングしてDA変換器に送る.

Dependencies:   mbed DSP_MultirateLinearphase

Committer:
MikamiUitOpen
Date:
Fri Feb 25 02:03:52 2022 +0000
Revision:
0:e58a2b5821eb
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:e58a2b5821eb 1 //----------------------------------------------------------------------
MikamiUitOpen 0:e58a2b5821eb 2 // AD 変換の結果をそのまま DA 変換する,DA 出力はアップサンプリング使用
MikamiUitOpen 0:e58a2b5821eb 3 //
MikamiUitOpen 0:e58a2b5821eb 4 // 2021/12/13, Copyright (c) 2021 MIKAMI, Naoki
MikamiUitOpen 0:e58a2b5821eb 5 //----------------------------------------------------------------------
MikamiUitOpen 0:e58a2b5821eb 6
MikamiUitOpen 0:e58a2b5821eb 7 #include "MultirateLiPh.hpp"
MikamiUitOpen 0:e58a2b5821eb 8 #pragma diag_suppress 870 // マルチバイト文字使用の警告抑制のため
MikamiUitOpen 0:e58a2b5821eb 9 using namespace Mikami;
MikamiUitOpen 0:e58a2b5821eb 10
MikamiUitOpen 0:e58a2b5821eb 11 const float FS_ = 10.0f; // 入力の標本化周波数: 10 kHz
MikamiUitOpen 0:e58a2b5821eb 12 MultirateLiPh myAdDa_(FS_); // 出力標本化周波数を4倍にするオブジェクト
MikamiUitOpen 0:e58a2b5821eb 13
MikamiUitOpen 0:e58a2b5821eb 14 // ADC 変換終了割込みに対する割込みサービス・ルーチン
MikamiUitOpen 0:e58a2b5821eb 15 void AdcIsr()
MikamiUitOpen 0:e58a2b5821eb 16 {
MikamiUitOpen 0:e58a2b5821eb 17 float xn = myAdDa_.Input(); // 入力
MikamiUitOpen 0:e58a2b5821eb 18 myAdDa_.Output(xn); // 出力
MikamiUitOpen 0:e58a2b5821eb 19 }
MikamiUitOpen 0:e58a2b5821eb 20
MikamiUitOpen 0:e58a2b5821eb 21 int main()
MikamiUitOpen 0:e58a2b5821eb 22 {
MikamiUitOpen 0:e58a2b5821eb 23 printf("\r\nAD 変換の結果をそのまま DA 変換します\r\n");
MikamiUitOpen 0:e58a2b5821eb 24 printf("DA 変換の際はアップサンプリングを行います\r\n");
MikamiUitOpen 0:e58a2b5821eb 25
MikamiUitOpen 0:e58a2b5821eb 26 myAdDa_.Start(&AdcIsr); // 標本化を開始する
MikamiUitOpen 0:e58a2b5821eb 27 while (true) {}
MikamiUitOpen 0:e58a2b5821eb 28 }