From 7a90eab4076227ced59631e55fdea62737c716ea Mon Sep 17 00:00:00 2001 From: furrtek Date: Tue, 17 May 2016 20:27:51 +0200 Subject: [PATCH] 3MHz-wide fast close call works :) >3MHz doesn't work anymore :( --- firmware/application/ui_closecall.cpp | 136 ++++++++++++++++---------- firmware/application/ui_closecall.hpp | 14 ++- firmware/baseband.bin | Bin 33280 -> 33280 bytes firmware/baseband/proc_closecall.cpp | 7 +- firmware/baseband/proc_nfm_audio.cpp | 2 +- firmware/common/modules.h | 2 +- firmware/portapack-h1-firmware.bin | Bin 471080 -> 471112 bytes sdcard/baseband.bin | Bin 33280 -> 33280 bytes 8 files changed, 96 insertions(+), 65 deletions(-) diff --git a/firmware/application/ui_closecall.cpp b/firmware/application/ui_closecall.cpp index c921a24f..bb718fb7 100644 --- a/firmware/application/ui_closecall.cpp +++ b/firmware/application/ui_closecall.cpp @@ -32,7 +32,7 @@ #include "portapack.hpp" #include "radio.hpp" #include "baseband_api.hpp" -#include "string_format.hpp" // DEBUG +#include "string_format.hpp" #include "hackrf_hal.hpp" @@ -55,17 +55,21 @@ CloseCallView::~CloseCallView() { void CloseCallView::do_detection() { uint8_t xmax = 0; - uint16_t imax = 0, c; - uint8_t threshold; + int64_t imax = 0; + uint16_t iraw = 0, c; + uint8_t power; + rf::Frequency freq_low, freq_high; - mean /= (CC_BIN_NB * (slices_max + 1)); + mean /= (CC_BIN_NB * slices_max); - for (c = 0; c < (slices_max + 1); c++) { - threshold = slicemax_db[c]; - if (threshold >= min_threshold) { - if (((uint8_t)(threshold - min_threshold) > mean) && (threshold > xmax)) { - xmax = threshold; + // Find max value over threshold from all slices + for (c = 0; c < slices_max; c++) { + power = slicemax_db[c]; + if (power >= min_threshold) { + if ((power - min_threshold >= mean) && (power > xmax)) { + xmax = power; imax = slicemax_idx[c] + (c * CC_BIN_NB); + iraw = slicemax_idx[c]; } } } @@ -84,23 +88,45 @@ void CloseCallView::do_detection() { // Lock / release if ((imax >= last_channel - 2) && (imax <= last_channel + 2) && imax) { - if (detect_counter >= (5 / (slices_max + 1))) { - if (imax != locked_frequency) { - //char finalstr[24] = {0}; + // Staying around the same frequency (+/- 25.4kHz) + if (detect_counter >= (5 / slices_max)) { + if ((imax != locked_imax) || (!locked)) { + char finalstr[29] = {0}; - // 236 steps = 5MHz - // Resolution = 21.2kHz - resolved_frequency = slice_start + (CC_BIN_WIDTH * (imax - 118)); - //auto fstr = to_string_dec_int(resolved_frequency); + // 236 steps = 3MHz + // Resolution = 12.7kHz + if (locked) + resolved_frequency = (resolved_frequency + slice_start + (CC_BIN_WIDTH * (imax - 118))) / 2; // Mean + else + resolved_frequency = slice_start + (CC_BIN_WIDTH * (imax - 118)); // Init + + text_debug.set(to_string_dec_int(CC_BIN_WIDTH * (imax - 118))); //imax + + // Correct according to DC spike mask width (4 for now) + if (iraw > 118) + resolved_frequency -= (2 * CC_BIN_WIDTH); + else + resolved_frequency += (2 * CC_BIN_WIDTH); - //strcat(finalstr, "Locked: "); - //strcat(finalstr, fstr.c_str()); text_infos.set("Locked !"); big_display.set_style(&style_locked); big_display.set(resolved_frequency); + // Approximation/error display + freq_low = (resolved_frequency - 6355) / 1000; + freq_high = (resolved_frequency + 6355) / 1000; + strcat(finalstr, "~12.7kHz "); + strcat(finalstr, to_string_dec_uint(freq_low / 1000).c_str()); + strcat(finalstr, "."); + strcat(finalstr, to_string_dec_uint(freq_low % 1000).c_str()); + strcat(finalstr, "/"); + strcat(finalstr, to_string_dec_uint(freq_high / 1000).c_str()); + strcat(finalstr, "."); + strcat(finalstr, to_string_dec_uint(freq_high % 1000).c_str()); + text_precision.set(finalstr); + locked = true; - locked_frequency = imax; + locked_imax = imax; } release_counter = 0; } else { @@ -108,8 +134,8 @@ void CloseCallView::do_detection() { } } else { detect_counter = 0; - if (locked == true) { - if (release_counter == 8) { + if (locked) { + if (release_counter == 6) { locked = false; text_infos.set("Lost "); big_display.set_style(&style_grey); @@ -124,7 +150,7 @@ void CloseCallView::do_detection() { scan_counter++; portapack::display.fill_rectangle({last_pos, 90, 1, 13}, Color::black()); - last_pos = (ui::Coord)(imax % 240); + last_pos = (ui::Coord)(iraw); portapack::display.fill_rectangle({last_pos, 90, 1, 13}, Color::red()); } @@ -152,27 +178,28 @@ void CloseCallView::on_channel_spectrum(const ChannelSpectrum& spectrum) { pixel_row ); - // Find max for this slice + // Find max for this slice: + // Check if left of slice needs to be trimmed (masked) if (slices_counter == 0) i = slice_trim; else i = 0; for ( ; i < 118; i++) { - threshold = spectrum.db[256 - 120 + i]; + threshold = spectrum.db[256 - 120 + i]; // 128+8 = 136 ~254 if (threshold > xmax) { xmax = threshold; imax = i; } } // Check if right of slice needs to be trimmed (masked) - if (slices_counter == slices_max) + if (slices_counter == (slices_max - 1)) m = 240 - slice_trim; else m = 240; for (i = 122 ; i < m; i++) { - threshold = spectrum.db[i - 120]; - if (threshold > xmax) { + threshold = spectrum.db[i - 120]; // 240-120 = 120 -> +8 = 128 + if (threshold > xmax) { // (0~2) 2~120 (120~136) 136~254 (254~256) xmax = threshold; imax = i - 4; } @@ -188,7 +215,7 @@ void CloseCallView::on_channel_spectrum(const ChannelSpectrum& spectrum) { // Slice update if (slicing) { - if (slices_counter >= slices_max) { + if (slices_counter >= (slices_max - 1)) { do_detection(); mean = 0; slices_counter = 0; @@ -240,9 +267,12 @@ void CloseCallView::on_range_changed() { rf::Frequency resolved_frequency; int64_t offset; + // DEBUG + /* f_max = field_frequency_max.value(); f_min = field_frequency_min.value(); scan_span = abs(f_max - f_min); + if (scan_span > CC_SLICE_WIDTH) { // ex: 100~115 (15): 102.5(97.5~107.5) -> 112.5(107.5~117.5) = 2.5 lost left and right slices_max = (scan_span + CC_SLICE_WIDTH - 1) / CC_SLICE_WIDTH; @@ -250,17 +280,6 @@ void CloseCallView::on_range_changed() { offset = ((scan_span - slices_span) / 2) + (CC_SLICE_WIDTH / 2); slice_start = std::min(f_min, f_max) + offset; slice_trim = 0; - - /* - * ----||||---- 4M -> 2*3M = 6 - * AAABBB 4-6 = -2 -> -2/2 = -1 -> -1+1.5 = +0.5 - * - * ----1111222233334444---- - * AAAAaaaaAAAAbbbbBBBBbbbb - * - */ - - slices_max--; // For slices_counter slicing = true; // Todo: trims @@ -274,19 +293,27 @@ void CloseCallView::on_range_changed() { resolved_frequency /= CC_BIN_WIDTH; // Convert to bin span slice_trim = resolved_frequency; + portapack::display.fill_rectangle({0, 97, 240, 4}, Color::black()); portapack::display.fill_rectangle({0, 97, slice_trim, 4}, Color::orange()); portapack::display.fill_rectangle({240 - slice_trim, 97, slice_trim, 4}, Color::orange()); - set_dirty(); - - slices_max = 0; + slices_max = 1; slices_counter = 0; slicing = false; - } + }*/ - //text_debug.set(to_string_dec_uint(slice_start)); - - text_slices.set(to_string_dec_int(slices_max + 1)); + f_min = field_frequency_min.value(); + scan_span = 3000000; + slice_frequency = (f_min + 1500000); + slice_start = slice_frequency; + receiver_model.set_tuning_frequency(slice_frequency); + slice_trim = 0; + slices_max = 1; + slices_counter = 0; + slicing = false; + field_frequency_max.set_value(f_min + 3000000); + + text_slices.set(to_string_dec_int(slices_max)); slices_counter = 0; } @@ -299,6 +326,7 @@ void CloseCallView::on_vga_changed(int32_t v_db) { } void CloseCallView::on_tick_second() { + // Update scan rate indication text_rate.set(to_string_dec_uint(scan_counter, 3)); scan_counter = 0; } @@ -320,6 +348,7 @@ CloseCallView::CloseCallView( &text_rate, &text_mhz, &text_infos, + &text_precision, &text_debug, &big_display, &button_exit @@ -366,13 +395,15 @@ CloseCallView::CloseCallView( text_mhz.set_style(&style_grey); big_display.set_style(&style_grey); + receiver_model.set_tuning_frequency(467000000); + field_threshold.set_value(80); field_threshold.on_change = [this](int32_t v) { min_threshold = v; }; field_frequency_min.set_value(receiver_model.tuning_frequency()); - field_frequency_min.set_step(200000); + field_frequency_min.set_step(100000); field_frequency_min.on_change = [this](rf::Frequency f) { (void) f; this->on_range_changed(); @@ -385,9 +416,11 @@ CloseCallView::CloseCallView( }; }; - field_frequency_max.set_value(receiver_model.tuning_frequency() + 2000000); + field_frequency_max.set_focusable(false); // DEBUG + + field_frequency_max.set_value(receiver_model.tuning_frequency() + 3000000); field_frequency_max.set_step(100000); - field_frequency_max.on_change = [this](rf::Frequency f) { + /*field_frequency_max.on_change = [this](rf::Frequency f) { (void) f; this->on_range_changed(); }; @@ -397,7 +430,7 @@ CloseCallView::CloseCallView( this->on_range_changed(); this->field_frequency_max.set_value(f); }; - }; + };*/ field_lna.set_value(receiver_model.lna()); field_lna.on_change = [this](int32_t v) { @@ -419,7 +452,6 @@ CloseCallView::CloseCallView( this->on_tick_second(); }; - //audio::output::mute(); receiver_model.set_baseband_configuration({ .mode = toUType(ReceiverModel::Mode::CloseCall), .sampling_rate = CC_SLICE_WIDTH, @@ -427,8 +459,6 @@ CloseCallView::CloseCallView( }); receiver_model.set_baseband_bandwidth(CC_SLICE_WIDTH); receiver_model.enable(); - //audio::output::unmute(); - } } /* namespace ui */ diff --git a/firmware/application/ui_closecall.hpp b/firmware/application/ui_closecall.hpp index 1cfc3ac1..aac5f66d 100644 --- a/firmware/application/ui_closecall.hpp +++ b/firmware/application/ui_closecall.hpp @@ -32,8 +32,8 @@ namespace ui { -#define CC_SLICE_WIDTH 3000000 //10000000 -#define CC_BIN_NB 236 +#define CC_SLICE_WIDTH 3000000 // Radio bandwidth +#define CC_BIN_NB 236 // Total power bins #define CC_BIN_WIDTH CC_SLICE_WIDTH/CC_BIN_NB class CloseCallView : public View { @@ -70,7 +70,8 @@ private: uint8_t slices_max; uint8_t slices_counter; uint16_t last_channel; - rf::Frequency scan_span, locked_frequency, resolved_frequency; + rf::Frequency scan_span, resolved_frequency; + uint16_t locked_imax; uint8_t slicemax_db[32]; // Todo: Cap max slices ! uint8_t slicemax_idx[32]; uint8_t scan_counter; @@ -152,8 +153,13 @@ private: "MHz" }; - Text text_debug { + Text text_precision { { 1 * 8, 13 * 16, 28 * 8, 16 }, + "" + }; + + Text text_debug { + { 1 * 8, 14 * 16, 28 * 8, 16 }, "DEBUG: Error" }; diff --git a/firmware/baseband.bin b/firmware/baseband.bin index 08ce9eee6789f70e4348aaaf59fa82d44434d54d..be9eda36b5ab090686c8977031787eb12cdb4079 100644 GIT binary patch delta 3122 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 void CloseCallProcessor::execute(const buffer_c8_t& buffer) { - // 2048 complex8_t samples per buffer. - // 102.4us per buffer. 20480 instruction cycles per buffer. - if( phase == 0 ) { std::fill(spectrum.begin(), spectrum.end(), 0); } for(size_t i=0; i1UIYM{{Tq2tw$y;<2 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

`TgV45lf#M$a0I_MT&-2U9by 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 delta 30850 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