不韋 呂
/
SDR_FM_Tx
AM中波放送用SDR.CICフィルタのみを使用.CQ出版社「トランジスタ技術」誌,2021年5月号に掲載
Embed:
(wiki syntax)
Show/hide line numbers
FM_Modulator.hpp
00001 //----------------------------------------------------------------- 00002 // FM 変調器 00003 // 00004 // 2020/08/29, Copyright (c) 2020 MIKAMI, Naoki 00005 //----------------------------------------------------------------- 00006 00007 #include "mbed.h" 00008 #include "FastSin.hpp" // 高速低精度 sin 計算 00009 00010 #ifndef FM_MODULATOR_HPP 00011 #define FM_MODULATOR_HPP 00012 00013 namespace Mikami 00014 { 00015 class FmModulator 00016 { 00017 public: 00018 // コンストラクタ 00019 // fCarrier 搬送波周波数 [Hz] 00020 // t0 標本化間隔 [μs] 00021 FmModulator(float fCarrier, float t0) 00022 : C0_(4.0f*fCarrier*t0*1.0e-6f), phi_(0) {} 00023 00024 // FM 変調の実行 00025 float Execute(float mod) 00026 { 00027 phi_ += C0_ + mod; // ここで FM 変調を行っている 00028 if (phi_ > 2.0f) phi_ -= 4.0f; 00029 return FastSin(phi_); 00030 } 00031 00032 private: 00033 const float C0_; // 搬送波周波数に対応する位相の増分 00034 float phi_; // 現在の位相 00035 00036 // コピー・コンストラクタ,代入演算子禁止のため 00037 FmModulator(const FmModulator&); 00038 FmModulator& operator=(const FmModulator&); 00039 }; 00040 } 00041 #endif // FM_MODULATOR_HPP
Generated on Wed Jul 13 2022 13:35:10 by 1.7.2