Skip to content

Commit d41d6a6

Browse files
committed
where am I?
1 parent 6c665cc commit d41d6a6

6 files changed

+40
-31
lines changed

logging_receiver_dsd.cc

+9-6
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ log_dsd::log_dsd(float f, float c, long t, int n)
4848
float offset = center - (f*1000000);
4949

5050
int samp_per_sym = 10;
51-
double samp_rate = 5000000;
52-
int decim = 80;
51+
double samp_rate = 5000000; int decim = 80;
5352
float xlate_bandwidth = 14000; //24260.0;
5453
float channel_rate = 4800 * samp_per_sym;
5554
double pre_channel_rate = double(samp_rate/decim);
@@ -68,7 +67,7 @@ log_dsd::log_dsd(float f, float c, long t, int n)
6867
resampler_taps = design_filter(channel_rate, pre_channel_rate);
6968

7069
downsample_sig = gr_make_rational_resampler_base_ccf(channel_rate, pre_channel_rate, resampler_taps);
71-
70+
quiet = gr_make_multiply_const_ff(0.75);
7271
demod = gr_make_quadrature_demod_cf(1.6);
7372

7473

@@ -79,7 +78,7 @@ log_dsd::log_dsd(float f, float c, long t, int n)
7978
if (!logging) {
8079
iam_logging = true;
8180
logging = true;
82-
dsd = dsd_make_block_ff(dsd_FRAME_P25_PHASE_1,dsd_MOD_C4FM,3,0,0, false, num);
81+
dsd = dsd_make_block_ff(dsd_FRAME_P25_PHASE_1,dsd_MOD_C4FM,3,1,1, false, num);
8382
} else {
8483
iam_logging = false;
8584
dsd = dsd_make_block_ff(dsd_FRAME_P25_PHASE_1,dsd_MOD_C4FM,3,0,0, false, num);
@@ -100,7 +99,9 @@ log_dsd::log_dsd(float f, float c, long t, int n)
10099
connect(prefilter, 0, downsample_sig, 0);
101100
connect(downsample_sig, 0, demod, 0);
102101
connect(demod, 0, sym_filter, 0);
103-
connect(sym_filter, 0, dsd, 0);
102+
connect(sym_filter,0, quiet,0);
103+
connect(quiet,0, dsd,0);
104+
//connect(sym_filter, 0, dsd, 0);
104105
connect(dsd, 0, wav_sink,0);
105106

106107
//connect(sym_filter, 0, wav_sink, 0);
@@ -184,7 +185,9 @@ void log_dsd::deactivate() {
184185
disconnect(prefilter, 0, downsample_sig, 0);
185186
disconnect(downsample_sig, 0, demod, 0);
186187
disconnect(demod, 0, sym_filter, 0);
187-
disconnect(sym_filter, 0, dsd, 0);
188+
disconnect(sym_filter,0, quiet,0);
189+
disconnect(quiet,0, dsd,0);
190+
//disconnect(sym_filter, 0, dsd, 0);
188191
disconnect(dsd, 0, wav_sink,0);
189192

190193

logging_receiver_dsd.h

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
#include <gr_io_signature.h>
1717
#include <gr_hier_block2.h>
18+
#include <gr_multiply_const_ff.h>
1819
#include <gr_firdes.h>
1920
#include <gr_fir_filter_ccf.h>
2021
#include <gr_fir_filter_fff.h>
@@ -89,6 +90,7 @@ class log_dsd : public gr_hier_block2
8990

9091
gr_multiply_cc_sptr mixer;
9192
gr_file_sink_sptr fs;
93+
gr_multiply_const_ff_sptr quiet;
9294

9395
gr_rational_resampler_base_ccf_sptr downsample_sig;
9496
gr_rational_resampler_base_fff_sptr upsample_audio;

logging_receiver_p25.cc

+9-6
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,11 @@ std::cout << " Decim: " << channel_decim << " Rate: " << channel_rate << " trans
9090

9191

9292
prefilter = gr_make_freq_xlating_fir_filter_ccf(int(channel_decim),
93-
gr_firdes::low_pass(1.0, capture_rate, trans_centre, trans_width),
93+
gr_firdes::low_pass(1.0, capture_rate, trans_centre, trans_width, gr_firdes::WIN_HANN),
9494
offset,
9595
capture_rate);
96-
int squelch_db = 0;
97-
//squelch = gr_make_pwr_squelch_cc(squelch_db, 0.001, 0, true);
96+
int squelch_db = 40;
97+
squelch = gr_make_pwr_squelch_cc(squelch_db, 0.001, 0, true);
9898
double fm_demod_gain = floor(channel_rate / (2.0 * pi * symbol_deviation));
9999
demod = gr_make_quadrature_demod_cf(fm_demod_gain);
100100

@@ -166,7 +166,10 @@ std::cout << " Decim: " << channel_decim << " Rate: " << channel_rate << " trans
166166

167167
muted = true;
168168

169-
connect(prefilter, 0, demod, 0);
169+
connect(prefilter, 0, squelch, 0);
170+
connect(squelch, 0, demod, 0);
171+
//connect(demod, 0, wav_sink,0);
172+
170173
connect(demod, 0, sym_filter, 0);
171174
connect(sym_filter, 0, op25_demod, 0);
172175
connect(op25_demod,0, op25_slicer, 0);
@@ -327,12 +330,12 @@ char *log_p25::get_filename() {
327330
void log_p25::close() {
328331
mute();
329332
wav_sink->close();
330-
disconnect(prefilter, 0, demod, 0);
333+
/*disconnect(prefilter, 0, demod, 0);
331334
disconnect(demod, 0, sym_filter, 0);
332335
disconnect(sym_filter, 0, op25_demod, 0);
333336
disconnect(op25_demod,0, op25_slicer, 0);
334337
disconnect(op25_slicer,0, op25_decoder,0);
335-
disconnect(op25_decoder, 0, wav_sink,0);
338+
disconnect(op25_decoder, 0, wav_sink,0);*/
336339
}
337340

338341
/*

logging_receiver_p25.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include <gr_rational_resampler_base_ccf.h>
3333
#include <gr_rational_resampler_base_fff.h>
3434
#include <gr_block.h>
35+
#include <gr_pwr_squelch_cc.h>
3536

3637
#include <op25_decoder_bf.h>
3738
#include <op25_fsk4_demod_ff.h>
@@ -94,7 +95,7 @@ char filename[160];
9495
gr_rational_resampler_base_fff_sptr upsample_audio;
9596
//gr::analog::quadrature_demod_cf::sptr demod;
9697
gr_quadrature_demod_cf_sptr demod;
97-
98+
gr_pwr_squelch_cc_sptr squelch;
9899
gr_wavfile_sink_sptr wav_sink;
99100
//smartnet_wavsink_sptr wav_sink
100101
//gr::blocks::wavfile_sink::sptr wav_sink;

smartnet.cc

+17-17
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
#include <stdio.h>
4444
#include <stdlib.h>
4545
#include <signal.h>
46-
//#include "logging_receiver_dsd.h"
47-
#include "logging_receiver_p25.h"
46+
#include "logging_receiver_dsd.h"
47+
//#include "logging_receiver_p25.h"
4848
#include "smartnet_crc.h"
4949
#include "smartnet_deinterleave.h"
5050

@@ -103,8 +103,8 @@ osmosdr_source_c_sptr src;
103103
/* static loggers
104104
vector<log_dsd_sptr> loggers;*/
105105

106-
//vector<log_dsd_sptr> active_loggers;
107-
vector<log_p25_sptr> active_loggers;
106+
vector<log_dsd_sptr> active_loggers;
107+
//vector<log_p25_sptr> active_loggers;
108108

109109
volatile sig_atomic_t exit_flag = 0;
110110
void exit_interupt(int sig){ // can be called asynchronously
@@ -177,12 +177,12 @@ float parse_message(string s) {
177177
}
178178

179179
if (retfreq) {
180-
/*for(vector<log_dsd_sptr>::iterator it = active_loggers.begin(); it != active_loggers.end(); ++it) {
181-
log_dsd_sptr rx = *it;*/
182-
for(vector<log_p25_sptr>::iterator it = active_loggers.begin(); it != active_loggers.end(); ++it) {
180+
for(vector<log_dsd_sptr>::iterator it = active_loggers.begin(); it != active_loggers.end(); ++it) {
181+
log_dsd_sptr rx = *it;
182+
/*for(vector<log_p25_sptr>::iterator it = active_loggers.begin(); it != active_loggers.end(); ++it) {
183183
184184
log_p25_sptr rx = *it;
185-
185+
*/
186186

187187
if (rx->get_talkgroup() == address) {
188188
if (rx->get_freq() != retfreq) {
@@ -216,8 +216,8 @@ float parse_message(string s) {
216216
//tb->wait();
217217

218218
// Dynamic Logger
219-
//log_dsd_sptr log = make_log_dsd( retfreq, center_freq, address, thread_num++);
220-
log_p25_sptr log = make_log_p25( retfreq, center_freq, address);
219+
log_dsd_sptr log = make_log_dsd( retfreq, center_freq, address, thread_num++);
220+
//log_p25_sptr log = make_log_p25( retfreq, center_freq, address);
221221

222222
active_loggers.push_back(log);
223223

@@ -236,13 +236,13 @@ float parse_message(string s) {
236236
//cout << "TG: " << address << "\tFreq: " << retfreq << "\tActive Loggers: " << active_loggers.size() << "\tCmd: "<< command << "\t LastCmd: " <<lastcmd << endl;
237237
}
238238

239-
/*
239+
240240
for(vector<log_dsd_sptr>::iterator it = active_loggers.begin(); it != active_loggers.end();) {
241-
log_dsd_sptr rx = *it;*/
242-
241+
log_dsd_sptr rx = *it;
242+
/*
243243
for(vector<log_p25_sptr>::iterator it = active_loggers.begin(); it != active_loggers.end();) {
244244
log_p25_sptr rx = *it;
245-
245+
*/
246246
if (rx->timeout() > 5.0) {
247247
//cout << "smartnet.cc: Deleting Logger - TG: " << rx->get_talkgroup() << "\t Freq: " << rx->get_freq() << endl;
248248

@@ -253,8 +253,8 @@ float parse_message(string s) {
253253
tb->disconnect(src, 0, rx, 0);
254254

255255
/* !!!!!!!!!!!!! don't forget to un comment this for log_dsd */
256-
//rx->deactivate();
257-
rx->close();
256+
rx->deactivate();
257+
//rx->close();
258258

259259
tb->unlock();
260260

@@ -268,7 +268,7 @@ float parse_message(string s) {
268268
//cout << "smartnet.cc: Moved Active Logger, Loggers " << loggers.size() << " Active Loggers " << active_loggers.size() << endl;
269269

270270
sprintf(shell_command,"./encode-upload.sh %s &", rx->get_filename());
271-
//system(shell_command);
271+
system(shell_command);
272272

273273
/* static loggers
274274
loggers.push_back(move(rx));

start_hack_rf_decode_856.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#valgrind --leak-check=yes ./smartnet --freq 856187500.0 --center 857600000.0 --rate 5000000 --error -5300 --rfgain 14 --ifgain 35 --bbgain 35 > valgrind.txt 2>&1
22

33

4-
./smartnet --freq 856187500.0 --center 857600000.0 --rate 4000000 --error -5300 --rfgain 14 --ifgain 35 --bbgain 35
4+
./smartnet --freq 856187500.0 --center 857600000.0 --rate 5000000 --error -5300 --rfgain 14 --ifgain 20 --bbgain 20
55

66

77
#./smartnet --freq 856187500.0 --center 858000000.0 --rate 8000000 --error -5500 --rfgain 14 --ifgain 35 --bbgain 35

0 commit comments

Comments
 (0)