#include <MachZehnder.hh>
MachZehnder::MachZehnder | ( | string | InFileName, | |
OptSignal * | oOptSignal2 | |||
) |
References BitLength, BitRateChann, CenterFreq, DeltaFreq, DeltaPhaseModulator, DeltaTime, DoEOMFlag, EAMWithHump, OptSignal::fft, fft, fftPowerMatrices::fPowerSignal, FreqWindow, OptSignal::GetBitLength(), OptSignal::GetBitRateChann(), OptSignal::GetCenterFreq(), OptSignal::GetDeltaFreq(), OptSignal::GetDeltaTime(), OptSignal::GetFreqWindow(), OptSignal::GetNumChannels(), OptSignal::GetOptPowerChann(), OptSignal::GetQtPoints(), OptSignal::GetRandomPolarizationsFlag(), OptSignal::GetStringLength(), OptSignal::GetTimeWindow(), OptSignal::GetTypeSimulation(), LogFile, LogFileSeparator(), LOWER_AND_UPPER, LOWER_ONLY, MANDATORY, NewCplx(), NO_BOUNDS, NumChannels, OptSignal::oBitString, oBitString, oElecFilter, oOptSignal, OPTIONAL_NO_WARNING, OptModulationDepth, OptPowerChann, Phi_10, Phi_20, pi, qtPoints, RandomPolarizationFlag, ReadDouble(), ReadInt(), OptSignal::sfftM, sfftM, sfftPM, ShiftAmt, SINUSOIDAL_SIGNAL, SlopeFactor, StringLength, SuperGaussExponent, TimeWindow, fftPowerMatrices::tPowerSignal, TypeMachZehnder, TypeSimulation, V_pi, V_pi1, and V_pi2.
double MachZehnder::EAM34PulseShape | ( | double | TimeRelPulseCenter | ) |
References EAMPoly(), EAMWithHump, OptSignal::GetFWHM_Pulse(), log(), oOptSignal, sq(), and sqrt().
double MachZehnder::EAMPoly | ( | double | time | ) |
Referenced by EAM34PulseShape().
void MachZehnder::FilterBinaryElecData | ( | void | ) |
References ElecFilter::FilterElecSignal(), and oElecFilter.
Referenced by MZModulator(), and PhaseModulator().
void MachZehnder::GeneratePerfectRectBinaryElecData | ( | int | ChannelArrayIndex | ) |
References cfftw::FFT(), fft, fftPowerMatrices::fPowerSignal, BitString::GetBit(), oBitString, qtPoints, sfftPM, StringLength, and fftPowerMatrices::tPowerSignal.
Referenced by MZModulator(), and PhaseModulator().
void MachZehnder::GenerateSinusoidalElecSignal | ( | int | ChannelArrayIndex | ) |
References BitLength, DeltaTime, cfftw::FFT(), fft, fftPowerMatrices::fPowerSignal, pi, qtPoints, sfftPM, and fftPowerMatrices::tPowerSignal.
Referenced by MZModulator(), and PhaseModulator().
void MachZehnder::GenerateSmoothedRectBinaryElecDataArctanh | ( | int | ChannelArrayIndex | ) |
Referenced by MZModulator(), and PhaseModulator().
void MachZehnder::GenerateSmoothedRectBinaryElecDataSuperGauss | ( | int | ChannelArrayIndex | ) |
Referenced by MZModulator(), and PhaseModulator().
typeMachZehnder MachZehnder::GetTypeMachZehnder | ( | void | ) | [inline] |
void MachZehnder::MZModulator | ( | void | ) |
References BINARY_DATA_ARCTANH_SMOOTHING, BINARY_DATA_PERFECT_RECT, BINARY_DATA_SUPERGAUSS_SMOOTHING, CenterFreq, DeltaTime, FilterBinaryElecData(), fftMatrices::fOptSignalX, fftMatrices::fOptSignalY, GeneratePerfectRectBinaryElecData(), GenerateSinusoidalElecSignal(), GenerateSmoothedRectBinaryElecDataArctanh(), GenerateSmoothedRectBinaryElecDataSuperGauss(), OptSignal::GetFrequency(), OptSignal::GetInJones(), OptSignal::GetRandomJones(), jc, NumChannels, oOptSignal, OptPowerChann, Phi_10, Phi_20, pi, qtPoints, RandomPolarizationFlag, sfftM, sfftPM, SINUSOIDAL_SIGNAL, sqrt(), OptSignal::Time2Freq(), fftMatrices::tOptSignalX, fftMatrices::tOptSignalY, fftPowerMatrices::tPowerSignal, TypeMachZehnder, TypeSimulation, V_pi1, V_pi2, and VECTOR.
void MachZehnder::PhaseModulator | ( | void | ) |
References BINARY_DATA_ARCTANH_SMOOTHING, BINARY_DATA_PERFECT_RECT, BINARY_DATA_SUPERGAUSS_SMOOTHING, CenterFreq, DeltaTime, FilterBinaryElecData(), fftMatrices::fOptSignalX, fftMatrices::fOptSignalY, GeneratePerfectRectBinaryElecData(), GenerateSinusoidalElecSignal(), GenerateSmoothedRectBinaryElecDataArctanh(), GenerateSmoothedRectBinaryElecDataSuperGauss(), OptSignal::GetFrequency(), OptSignal::GetInJones(), OptSignal::GetRandomJones(), jc, NumChannels, oOptSignal, OptPowerChann, Phi_10, pi, qtPoints, RandomPolarizationFlag, sfftM, sfftPM, SINUSOIDAL_SIGNAL, sqrt(), OptSignal::Time2Freq(), fftMatrices::tOptSignalX, fftMatrices::tOptSignalY, fftPowerMatrices::tPowerSignal, TypeMachZehnder, TypeSimulation, V_pi, and VECTOR.
double MachZehnder::SuperGauss | ( | double | Time | ) |
References BitLength, SuperGaussExponent, and TimeWindow.
void MachZehnder::WriteFileFreqPower | ( | string | outFile | ) |
References DeltaFreq, fft, cfftw::fftshift(), fftPowerMatrices::fPowerSignal, FreqWindow, cfftw::ifftshift(), LogFile, qtPoints, sfftPM, and sq().
void MachZehnder::WriteFileTimePower | ( | string | outFile | ) |
References DeltaTime, LogFile, qtPoints, sfftPM, and fftPowerMatrices::tPowerSignal.
double MachZehnder::BitLength [private] |
Referenced by GenerateSinusoidalElecSignal(), MachZehnder(), and SuperGauss().
double MachZehnder::BitRateChann [private] |
Referenced by MachZehnder().
double MachZehnder::CenterFreq [private] |
Referenced by MachZehnder(), MZModulator(), and PhaseModulator().
bool MachZehnder::ChirpFreeFlag [private] |
double MachZehnder::DeltaFreq [private] |
Referenced by MachZehnder(), and WriteFileFreqPower().
double MachZehnder::DeltaPhaseModulator [private] |
Referenced by MachZehnder().
double MachZehnder::DeltaTime [private] |
Referenced by GenerateSinusoidalElecSignal(), MachZehnder(), MZModulator(), PhaseModulator(), and WriteFileTimePower().
bool MachZehnder::DoEOMFlag [private] |
Referenced by MachZehnder().
bool MachZehnder::EAMWithHump [private] |
Referenced by EAM34PulseShape(), and MachZehnder().
cfftw* MachZehnder::fft [private] |
Referenced by GeneratePerfectRectBinaryElecData(), GenerateSinusoidalElecSignal(), MachZehnder(), and WriteFileFreqPower().
double MachZehnder::FreqWindow [private] |
Referenced by MachZehnder(), and WriteFileFreqPower().
int MachZehnder::NumChannels [private] |
Referenced by MachZehnder(), MZModulator(), and PhaseModulator().
BitString* MachZehnder::oBitString [private] |
Referenced by GeneratePerfectRectBinaryElecData(), and MachZehnder().
ElecFilter* MachZehnder::oElecFilter [private] |
Referenced by FilterBinaryElecData(), and MachZehnder().
OptSignal* MachZehnder::oOptSignal [private] |
Referenced by EAM34PulseShape(), MachZehnder(), MZModulator(), and PhaseModulator().
double MachZehnder::OptModulationDepth [private] |
Referenced by MachZehnder().
double MachZehnder::OptPowerChann [private] |
Referenced by MachZehnder(), MZModulator(), and PhaseModulator().
double MachZehnder::Phi_10 [private] |
Referenced by MachZehnder(), MZModulator(), and PhaseModulator().
double MachZehnder::Phi_20 [private] |
Referenced by MachZehnder(), and MZModulator().
int MachZehnder::qtPoints [private] |
int MachZehnder::RandomPolarizationFlag [private] |
Referenced by MachZehnder(), MZModulator(), and PhaseModulator().
fftMatrices MachZehnder::sfftM [private] |
Referenced by MachZehnder(), MZModulator(), and PhaseModulator().
fftPowerMatrices MachZehnder::sfftPM [private] |
double MachZehnder::ShiftAmt [private] |
Referenced by MachZehnder().
double MachZehnder::SlopeFactor [private] |
Referenced by MachZehnder().
int MachZehnder::StringLength [private] |
Referenced by GeneratePerfectRectBinaryElecData(), and MachZehnder().
int MachZehnder::SuperGaussExponent [private] |
Referenced by MachZehnder(), and SuperGauss().
double MachZehnder::TimeWindow [private] |
Referenced by MachZehnder(), and SuperGauss().
typeMachZehnder MachZehnder::TypeMachZehnder [private] |
Referenced by MachZehnder(), MZModulator(), and PhaseModulator().
typeSimulation MachZehnder::TypeSimulation [private] |
Referenced by MachZehnder(), MZModulator(), and PhaseModulator().
double MachZehnder::V_pi [private] |
Referenced by MachZehnder(), and PhaseModulator().
double MachZehnder::V_pi1 [private] |
Referenced by MachZehnder(), and MZModulator().
double MachZehnder::V_pi2 [private] |
Referenced by MachZehnder(), and MZModulator().