mirror of
https://github.com/xdsopl/robot36.git
synced 2026-01-04 15:29:59 +01:00
oops
This commit is contained in:
parent
38525c3187
commit
d2c78e453e
|
|
@ -9,12 +9,22 @@ package xdsopl.robot36;
|
|||
public class FrequencyModulation {
|
||||
private float prev;
|
||||
private final float scale;
|
||||
private final float Pi, TwoPi;
|
||||
FrequencyModulation(float bandwidth, float sampleRate) {
|
||||
scale = sampleRate / (bandwidth * (float) Math.PI);
|
||||
this.Pi = (float) Math.PI;
|
||||
this.TwoPi = 2 * this.Pi;
|
||||
scale = sampleRate / (bandwidth * Pi);
|
||||
}
|
||||
private float wrap(float value) {
|
||||
if (value < -Pi)
|
||||
return value + TwoPi;
|
||||
if (value > Pi)
|
||||
return value - TwoPi;
|
||||
return value;
|
||||
}
|
||||
float demod(Complex input) {
|
||||
float phase = input.arg();
|
||||
float delta = (phase - prev) % (float) Math.PI;
|
||||
float delta = wrap(phase - prev);
|
||||
prev = phase;
|
||||
return scale * delta;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue