public class ModulationOok extends DigitalModulation
For the equations used in computing Eb/No and BER for the OOK modulation, see Section 4.3.3 page 172 of "Optical Wireless Communications - System and Channel Modeling with MATLAB" by Z. Ghassemlooy, W. Popoola, and S. Rajbhandari.
| Constructor and Description |
|---|
ModulationOok()
Initializes a new instance.
|
ModulationOok(double dutyCycle)
Create a new instance based on the given duty cycle.
|
| Modifier and Type | Method and Description |
|---|---|
double |
computeBitErrorRate(double bitEnergyPerNoiseDensity)
A method to decode the digital signal and produce the probability that any given bit will be incorrect.
|
double |
computeBitErrorRate(Signal intendedSignal)
A method to decode the digital signal and produce the probability that any given bit will be incorrect.
|
boolean |
equals(Object obj)
Indicates whether another object is exactly equal to this instance.
|
double |
getDutyCycle()
Gets the duty cycle which is the percentage of one period in which the signal is active.
|
double |
getSpectralEfficiency()
Gets the spectral efficiency representing the number of bits that can be represented per unit bandwidth, in bps/Hz.
|
int |
hashCode()
Returns a hash code for this instance, which is suitable for use in hashing algorithms and data structures like a hash table.
|
public ModulationOok()
public ModulationOok(double dutyCycle)
dutyCycle - The percentage of one period in which the signal is active.
Valid values are greater then zero and less than or equal to one.
A value of one represents non-return-to-zero OOK while a duty cycle less than 1 represents a return-to-zero (RZ) type OOK modulation.public double computeBitErrorRate(Signal intendedSignal)
computeBitErrorRate in class DigitalModulationintendedSignal - The signal object which represents the digital data.ArgumentNullException - Thrown when intendedSignal is null.public double computeBitErrorRate(double bitEnergyPerNoiseDensity)
computeBitErrorRate in class DigitalModulationbitEnergyPerNoiseDensity - The bit energy per noise density ratio (Eb/No).public double getSpectralEfficiency()
This specifies the bandwidth needed to represent a certain SignalDataRate successfully.
The half-bandwidth (or base-band bandwidth) of the corresponding signal is the data rate divided by the spectral efficiency.
getSpectralEfficiency in class DigitalModulationpublic final double getDutyCycle()
public boolean equals(Object obj)
equals in class Objectobj - The object to compare to this instance.true if obj is an instance of this type and represents the same value as this instance; otherwise false.Object.hashCode(),
HashMappublic int hashCode()
hashCode in class ObjectObject.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)