This makes Amplitude Modulated Pulse Train, which can be regarded as the discretized wave of the signal. Pulse Train can be defined by frequency and duty cycle, which can be temporarily changed, referring to PWM.
Dependents: Interference_Simple
AMPulseTrain.cpp
00001 #include "AMPulseTrain.h" 00002 00003 AMPulseTrain::AMPulseTrain( 00004 /// Carrier Pulse Train 00005 PulseTrain * arg_carrier, 00006 /// Initial AM Signal expression 00007 AMSignal * arg_signal 00008 ): 00009 Carrier(arg_carrier), 00010 Signal(arg_signal) 00011 { 00012 RecalcPulsebaseParameter(); 00013 } 00014 00015 00016 00017 00018 uint16_t 00019 AMPulseTrain::getClockperiod_us() 00020 { 00021 return Carrier->getClockperiod_us(); 00022 } 00023 00024 void 00025 AMPulseTrain::incrementClock() 00026 { 00027 Carrier->incrementClock(); 00028 } 00029 00030 00031 00032 00033 void 00034 AMPulseTrain::attachCallback_asClock( 00035 Callback<void(bool, AMPulseTrain*)> arg_callback 00036 ) 00037 { 00038 m_callback_asClock = arg_callback; 00039 Carrier->attachCallback_asClock(callback(this, &ulseTrain::CallbackWrapper_asClock)); 00040 } 00041 00042 void 00043 AMPulseTrain::CallbackWrapper_asClock(bool arg_pulsestate) 00044 { 00045 m_callback_asClock(arg_pulsestate, this); 00046 } 00047 00048 00049 00050 00051 void 00052 AMPulseTrain::attachCallback_asPulseEdge( 00053 Callback<void(bool, AMPulseTrain*)> arg_callback 00054 ) 00055 { 00056 m_callback_asPulseEdge = arg_callback; 00057 Carrier->attachCallback_asPulseEdge (callback(this, &ulseTrain::CallbackWrapper_asPulseEdge)); 00058 } 00059 00060 void 00061 AMPulseTrain::CallbackWrapper_asPulseEdge(bool arg_pulsestate) 00062 { 00063 m_callback_asPulseEdge(arg_pulsestate, this); 00064 } 00065 00066 00067 00068 00069 void 00070 AMPulseTrain::attachAMSignalExpression( 00071 Callback<uint16_t(AMPulseTrain*)> arg_callback 00072 ) 00073 { 00074 m_AMSignalExpression = arg_callback; 00075 Signal->attachAMSignalExpression( 00076 callback(this, &ulseTrain::CallbackWrapper_AMSignalExpression) 00077 ); 00078 } 00079 00080 uint16_t 00081 AMPulseTrain::CallbackWrapper_AMSignalExpression(AMSignal* arg_signal) 00082 { 00083 return m_AMSignalExpression(this); 00084 }
Generated on Tue Jul 12 2022 22:17:22 by 1.7.2