kopia lustrzana https://github.com/rs1729/RS
rs_multi: add M20
rodzic
a2e8ec0ed9
commit
ebac1c4a9b
|
@ -2,8 +2,8 @@
|
||||||
CC = gcc
|
CC = gcc
|
||||||
COPTS = -O3
|
COPTS = -O3
|
||||||
|
|
||||||
rs_multi: rs41base.o lms6Xbase.o dfm09base.o m10base.o demod_base.o bch_ecc_mod.o
|
rs_multi: rs41base.o lms6Xbase.o dfm09base.o m10base.o m20base.o demod_base.o bch_ecc_mod.o
|
||||||
$(CC) $(COPTS) -o rs_multi rs_multi.c demod_base.o bch_ecc_mod.o rs41base.o dfm09base.o m10base.o lms6Xbase.o -lm -pthread
|
$(CC) $(COPTS) -o rs_multi rs_multi.c demod_base.o bch_ecc_mod.o rs41base.o dfm09base.o m10base.o m20base.o lms6Xbase.o -lm -pthread
|
||||||
|
|
||||||
rs41base.o: rs41base.c
|
rs41base.o: rs41base.c
|
||||||
$(CC) $(COPTS) -c rs41base.c
|
$(CC) $(COPTS) -c rs41base.c
|
||||||
|
@ -14,6 +14,9 @@ dfm09base.o: dfm09base.c
|
||||||
m10base.o: m10base.c
|
m10base.o: m10base.c
|
||||||
$(CC) $(COPTS) -c m10base.c
|
$(CC) $(COPTS) -c m10base.c
|
||||||
|
|
||||||
|
m20base.o: m20base.c
|
||||||
|
$(CC) $(COPTS) -c m20base.c
|
||||||
|
|
||||||
lms6Xbase.o: lms6Xbase.c
|
lms6Xbase.o: lms6Xbase.c
|
||||||
$(CC) $(COPTS) -c lms6Xbase.c
|
$(CC) $(COPTS) -c lms6Xbase.c
|
||||||
|
|
||||||
|
@ -26,6 +29,6 @@ bch_ecc_mod.o: bch_ecc_mod.c bch_ecc_mod.h
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -f rs_multi
|
rm -f rs_multi
|
||||||
rm -f rs41base.o dfm09base.o m10base.o lms6Xbase.o
|
rm -f rs41base.o dfm09base.o m10base.o m20base.o lms6Xbase.o
|
||||||
rm -f demod_base.o bch_ecc_mod.o
|
rm -f demod_base.o bch_ecc_mod.o
|
||||||
|
|
||||||
|
|
|
@ -10,8 +10,9 @@ simultaneous decoding
|
||||||
`gcc -O2 -c rs41base.c` <br />
|
`gcc -O2 -c rs41base.c` <br />
|
||||||
`gcc -O2 -c dfm09base.c` <br />
|
`gcc -O2 -c dfm09base.c` <br />
|
||||||
`gcc -O2 -c m10base.c` <br />
|
`gcc -O2 -c m10base.c` <br />
|
||||||
|
`gcc -O2 -c m20base.c` <br />
|
||||||
`gcc -O2 -c lms6Xbase.c` <br />
|
`gcc -O2 -c lms6Xbase.c` <br />
|
||||||
`gcc -O2 rs_multi.c demod_base.o bch_ecc_mod.o rs41base.o dfm09base.o m10base.o lms6Xbase.o \`<br />
|
`gcc -O2 rs_multi.c demod_base.o bch_ecc_mod.o rs41base.o dfm09base.o m10base.o m20base.o lms6Xbase.o \`<br />
|
||||||
`-lm -pthread -o rs_multi`
|
`-lm -pthread -o rs_multi`
|
||||||
|
|
||||||
#### Usage/Examples
|
#### Usage/Examples
|
||||||
|
|
Plik diff jest za duży
Load Diff
|
@ -6,8 +6,9 @@ gcc -O2 -c bch_ecc_mod.c
|
||||||
gcc -O2 -c rs41base.c
|
gcc -O2 -c rs41base.c
|
||||||
gcc -O2 -c dfm09base.c
|
gcc -O2 -c dfm09base.c
|
||||||
gcc -O2 -c m10base.c
|
gcc -O2 -c m10base.c
|
||||||
|
gcc -O2 -c m20base.c
|
||||||
gcc -O2 -c lms6Xbase.c
|
gcc -O2 -c lms6Xbase.c
|
||||||
gcc -O2 rs_multi.c demod_base.o bch_ecc_mod.o rs41base.o dfm09base.o m10base.o lms6Xbase.o -lm -pthread
|
gcc -O2 rs_multi.c demod_base.o bch_ecc_mod.o rs41base.o dfm09base.o m10base.o m20base.o lms6Xbase.o -lm -pthread
|
||||||
|
|
||||||
./a.out --rs41 <fq0> --dfm <fq1> --m10 <fq2> baseband_IQ.wav
|
./a.out --rs41 <fq0> --dfm <fq1> --m10 <fq2> baseband_IQ.wav
|
||||||
-0.5 < fq < 0.5 , fq=freq/sr
|
-0.5 < fq < 0.5 , fq=freq/sr
|
||||||
|
@ -49,6 +50,7 @@ extern int bufeof; // demod_base.c
|
||||||
void *thd_rs41(void *);
|
void *thd_rs41(void *);
|
||||||
void *thd_dfm09(void *);
|
void *thd_dfm09(void *);
|
||||||
void *thd_m10(void *);
|
void *thd_m10(void *);
|
||||||
|
void *thd_m20(void *);
|
||||||
void *thd_lms6X(void *);
|
void *thd_lms6X(void *);
|
||||||
|
|
||||||
|
|
||||||
|
@ -171,6 +173,18 @@ int main(int argc, char **argv) {
|
||||||
xlt_cnt++;
|
xlt_cnt++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv, "--m20") == 0) {
|
||||||
|
double fq = 0.0;
|
||||||
|
++argv;
|
||||||
|
if (*argv) fq = atof(*argv); else return -1;
|
||||||
|
if (fq < -0.5) fq = -0.5;
|
||||||
|
if (fq > 0.5) fq = 0.5;
|
||||||
|
if (xlt_cnt < MAX_FQ) {
|
||||||
|
base_fqs[xlt_cnt] = fq;
|
||||||
|
rstype[xlt_cnt] = thd_m20;
|
||||||
|
xlt_cnt++;
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (strcmp(*argv, "--lms") == 0) {
|
else if (strcmp(*argv, "--lms") == 0) {
|
||||||
double fq = 0.0;
|
double fq = 0.0;
|
||||||
++argv;
|
++argv;
|
||||||
|
@ -328,6 +342,10 @@ int main(int argc, char **argv) {
|
||||||
fifo_fq = fifo_buf + 3;
|
fifo_fq = fifo_buf + 3;
|
||||||
rstype = thd_m10;
|
rstype = thd_m10;
|
||||||
}
|
}
|
||||||
|
else if (strncmp(fifo_buf, "m20", 3) == 0) {
|
||||||
|
fifo_fq = fifo_buf + 3;
|
||||||
|
rstype = thd_m20;
|
||||||
|
}
|
||||||
else if (strncmp(fifo_buf, "lms", 3) == 0) {
|
else if (strncmp(fifo_buf, "lms", 3) == 0) {
|
||||||
fifo_fq = fifo_buf + 3;
|
fifo_fq = fifo_buf + 3;
|
||||||
rstype = thd_lms6X;
|
rstype = thd_lms6X;
|
||||||
|
|
Ładowanie…
Reference in New Issue