Add CB channel 16 (27.155 MHz) to monitoring
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
schema: spec-driven
|
||||
created: 2026-03-21
|
||||
@@ -0,0 +1,28 @@
|
||||
## Context
|
||||
|
||||
The system monitors CB radio channels using RTLSDR-Airband running in Docker on a Pi 400. The SDR is tuned to a center frequency of 27.035 MHz with a 2.4 MHz sample rate, covering approximately 25.835–28.235 MHz. Three channels are currently monitored (3, 7, 10). CB channel 16 at 27.155 MHz falls well within this window.
|
||||
|
||||
## Goals / Non-Goals
|
||||
|
||||
**Goals:**
|
||||
- Add CB channel 16 (27.155 MHz) to the monitored channel list
|
||||
- Use identical recording and squelch settings as existing channels for consistency
|
||||
|
||||
**Non-Goals:**
|
||||
- Changing center frequency, sample rate, or gain settings
|
||||
- Adding any other channels beyond channel 16
|
||||
- Modifying the cleanup, web, or Docker configuration
|
||||
|
||||
## Decisions
|
||||
|
||||
**Use identical channel parameters as existing channels.**
|
||||
All current channels use 8 kHz bandwidth, NFM modulation, 9.0 dB squelch SNR threshold, and file output with split-on-transmission. Channel 16 will use the same settings. There's no reason to deviate — CB channels have uniform characteristics.
|
||||
|
||||
**Filename template follows existing convention: `CB_CH16_27155`.**
|
||||
This matches the `CB_CH{nn}_{freq}` pattern used by channels 3, 7, and 10, keeping recordings consistent for the cleanup script and web browser.
|
||||
|
||||
## Risks / Trade-offs
|
||||
|
||||
**Additional CPU load from fourth channel** → Minimal risk. RTLSDR-Airband's multichannel mode handles many channels efficiently within a single FFT pass. One more channel adds negligible overhead on the Pi 400.
|
||||
|
||||
**More recordings consuming disk space** → Mitigated by the existing cleanup container which removes files under the 3k size threshold.
|
||||
@@ -0,0 +1,24 @@
|
||||
## Why
|
||||
|
||||
CB channel 16 (27.155 MHz) is commonly used for regional traffic and is worth monitoring alongside the existing channels 3, 7, and 10. The frequency already falls within the current SDR sample window, so adding it requires only a configuration change.
|
||||
|
||||
## What Changes
|
||||
|
||||
- Add CB channel 16 (27.155 MHz) as a new monitored channel in `rtl_airband.conf`
|
||||
- Uses the same NFM modulation, bandwidth, squelch, and file output settings as existing channels
|
||||
- Recordings saved with `CB_CH16_27155` filename template
|
||||
|
||||
## Capabilities
|
||||
|
||||
### New Capabilities
|
||||
- `cb-channel-16-monitoring`: Monitor and record transmissions on CB channel 16 (27.155 MHz)
|
||||
|
||||
### Modified Capabilities
|
||||
|
||||
_(none — existing channel monitoring is unchanged)_
|
||||
|
||||
## Impact
|
||||
|
||||
- `rtl_airband.conf`: New channel entry added to the existing device's channel list
|
||||
- No changes to Docker, Nginx, or cleanup configuration needed
|
||||
- No additional hardware or SDR tuning changes required (27.155 MHz is within the current 2.4 MHz sample window)
|
||||
@@ -0,0 +1,19 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Monitor CB channel 16
|
||||
The system SHALL monitor CB channel 16 at 27.155 MHz using narrowband FM demodulation with an 8 kHz bandwidth and a squelch SNR threshold of 9.0 dB.
|
||||
|
||||
#### Scenario: Channel 16 transmission detected
|
||||
- **WHEN** a transmission occurs on 27.155 MHz above the squelch threshold
|
||||
- **THEN** the system records the transmission to a file in the `/recordings` directory using dated subdirectories and the filename template `CB_CH16_27155`
|
||||
|
||||
#### Scenario: Channel 16 transmission ends
|
||||
- **WHEN** the signal on 27.155 MHz drops below the squelch threshold
|
||||
- **THEN** the system splits the recording file at the transmission boundary
|
||||
|
||||
### Requirement: Channel 16 labeled in configuration
|
||||
The channel entry SHALL use the label `CB-CH16` for identification in logs and status output.
|
||||
|
||||
#### Scenario: Channel label appears in config
|
||||
- **WHEN** RTLSDR-Airband loads the configuration
|
||||
- **THEN** channel 16 is identified with the label `CB-CH16`
|
||||
@@ -0,0 +1,8 @@
|
||||
## 1. Configuration
|
||||
|
||||
- [x] 1.1 Add CB channel 16 entry to `rtl_airband.conf` with freq 27.155, 8 kHz bandwidth, NFM modulation, 9.0 dB squelch SNR threshold, label `CB-CH16`, and file output with template `CB_CH16_27155`
|
||||
- [x] 1.2 Update the comment at the top of `rtl_airband.conf` to include channel 16
|
||||
|
||||
## 2. Deploy
|
||||
|
||||
- [x] 2.1 Rebuild and restart the `sdr-recorder` container on the Pi to pick up the new configuration
|
||||
17
openspec/specs/cb-channel-16-monitoring/spec.md
Normal file
17
openspec/specs/cb-channel-16-monitoring/spec.md
Normal file
@@ -0,0 +1,17 @@
|
||||
### Requirement: Monitor CB channel 16
|
||||
The system SHALL monitor CB channel 16 at 27.155 MHz using narrowband FM demodulation with an 8 kHz bandwidth and a squelch SNR threshold of 9.0 dB.
|
||||
|
||||
#### Scenario: Channel 16 transmission detected
|
||||
- **WHEN** a transmission occurs on 27.155 MHz above the squelch threshold
|
||||
- **THEN** the system records the transmission to a file in the `/recordings` directory using dated subdirectories and the filename template `CB_CH16_27155`
|
||||
|
||||
#### Scenario: Channel 16 transmission ends
|
||||
- **WHEN** the signal on 27.155 MHz drops below the squelch threshold
|
||||
- **THEN** the system splits the recording file at the transmission boundary
|
||||
|
||||
### Requirement: Channel 16 labeled in configuration
|
||||
The channel entry SHALL use the label `CB-CH16` for identification in logs and status output.
|
||||
|
||||
#### Scenario: Channel label appears in config
|
||||
- **WHEN** RTLSDR-Airband loads the configuration
|
||||
- **THEN** channel 16 is identified with the label `CB-CH16`
|
||||
@@ -1,5 +1,5 @@
|
||||
# RTLSDR-Airband configuration for EU CB radio monitoring
|
||||
# Channels: 3 (26.985 MHz), 7 (27.035 MHz), 10 (27.075 MHz)
|
||||
# Channels: 3 (26.985 MHz), 7 (27.035 MHz), 10 (27.075 MHz), 16 (27.155 MHz)
|
||||
|
||||
localtime = false;
|
||||
fft_size = 1024;
|
||||
@@ -63,6 +63,22 @@ devices:
|
||||
dated_subdirectories = true;
|
||||
}
|
||||
);
|
||||
},
|
||||
{
|
||||
freq = 27.155;
|
||||
bandwidth = 8000;
|
||||
modulation = "nfm";
|
||||
squelch_snr_threshold = 9.0;
|
||||
label = "CB-CH16";
|
||||
outputs: (
|
||||
{
|
||||
type = "file";
|
||||
directory = "/recordings";
|
||||
filename_template = "CB_CH16_27155";
|
||||
split_on_transmission = true;
|
||||
dated_subdirectories = true;
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user