Skip to content

Releases: jj1bdx/airspy-fmradion

20240424-0

24 Apr 02:46
5ea961f
Compare
Choose a tag to compare

What's Changed

  • Use shared libraries for airspy, airspyhf, and rtl-sdr by @jj1bdx in #79
  • Add libairspyhf.md by @jj1bdx in #80
  • Merging Version 20240424-0 from the dev branch by @jj1bdx in #81

Full Changelog: 20240316-0...20240424-0

20240316-0

16 Mar 04:15
Compare
Choose a tag to compare

MP3 file output (#47) is finally supported!

What's Changed

Full Changelog: 20240107-0...20240316-0

20240107-0

07 Jan 05:31
a9f724e
Compare
Choose a tag to compare

What's Changed

  • Use averaging for detecting FM stereo pilot level instability by @jj1bdx in #60
  • Add cmake-git-version-tracking by @jj1bdx in #61
  • Stop using PilotState::Detected by @jj1bdx in #63
  • CMakeLists.txt: add compile_commands.json support by @jj1bdx in #62
  • Fix potential bugs of clang-tidy warnings by @jj1bdx in #64
  • Fix RTL-SDR buffer size and stat_rate calculation by @jj1bdx in #66
  • Documentation change for 20240107-0 release by @jj1bdx in #67
  • Version 20240107-0 release by @jj1bdx in #68

Full Changelog: 20231227-0...20240107-0

20231227-0

27 Dec 01:16
Compare
Choose a tag to compare

Command option change: -b is no longer recognized

Note well: -b option is removed and will cause an error.

What's Changed

  • See CHANGES.md for the details.
  • Split class PilotPhaseLock from FmDecode by @jj1bdx in #54
  • DataBuffer: roll back to std::queue version again by @jj1bdx in #55
  • Remove buffer option -b by @jj1bdx in #57
  • Add stabilized state to the stereo pilot detection signs by @jj1bdx in #56

Full Changelog: 20231216-0...20231227-0

20231216-0

16 Dec 11:46
Compare
Choose a tag to compare

Removed recording buffer thread. This will simplify the audio output operation. Also, lowered the output level of AM/CW/USB/LSB/WSPR decoder to prevent audio clipping, and changed the IF AGC constants for longer transition timing.

What's Changed

Full Changelog: 20231215-0...20231216-0

20231215-0

15 Dec 00:58
Compare
Choose a tag to compare

What's Changed

  • Fix link to libvolk install page by @argilo in #44
  • Remove NaNs and process hanging by @jj1bdx in #45

Changes in details

  • 20231215-0: Fix the following known bugs and refactor the code to streamline the functioning:
    • Bug: a hung process during the startup period before valid audio signals are coming out
    • Bug: displaying -nan in the output level meter in broadcast FM and NBFM
      • The NaN is presumably generated by volk_32fc_s32f_atan2_32f() in PhaseDiscriminator::process()
      • This NaN issue was presumably the root cause of the multipath filter anomaly first fixed in 20231213-1
    • Enhancement: streamlining processing flow in the main for loop of main()
    • Enhancement: removing the initial waiting period for startup; the output is now activated from the block number 1
    • Utility addition: adding Utility::remove_nans(), a function to check and substitute NaNs and infinity values in IQSamplesDecodedVector

Full Changelog: 20231213-1...20231215-0

20231213-1

13 Dec 12:38
Compare
Choose a tag to compare

This is a bugfix release to solve the output problem on 20231213-0.
The reason is described in #42 (comment)
duplicated in this release note as follows:

The calculation failure was caused by one or more NaNs being in the PhaseDiscriminator calculation result. The result propagated in the later stages to prevent normal output. The multipath filter was working even if the NaNs were output because the reason for NaN was presumably the 0+0j output value of the multipath filter. The 0+0j output will not happen in the real-world input, although there's no guarantee that it will not happen. So, I decided to reset the multipath filter calculation if 0+0j output is found in the calculation result. This filter reset hack presumably solved the root cause.
See https://github.com/jj1bdx/airspy-fmradion/blob/c6ca61c600dc48f0e0af2322c61fe6ab16e25c3b/sfmbase/MultipathFilter.cpp#L172-L177 for the fixed code.

Full Changelog: 20231213-0...20231213-1

20231213-0

13 Dec 00:40
Compare
Choose a tag to compare
  • A long-time remained uninitialized variable bug was fixed.
  • Now supports VOLK (libvolk) 3.1.0.

What's Changed

New Contributors

Full Changelog: 20230910-0...20231213-0

20230910-0

09 Sep 07:11
Compare
Choose a tag to compare

Maintenance release.

  • Intel Mac hardware is no longer supported.
  • Updated r8brain-free-src to Version 6.4.

Full Changelog: 20230529-0...20230910-0

20230529-0

29 May 00:49
Compare
Choose a tag to compare

Major changes

  • The buffer length option -b is ignored. The audio sample data sent to AudioOutput base classes are no longer pre-buffered.

Other implementation changes

  • DataBuffer class is reimplemented as a wrapper of moodycamel::BlockReaderWriterQueue, which allows efficient blocking operation and removes the requirements of busy waiting by using moodycamel::BlockReaderWriterQueue::wait_dequeue().
  • Explicitly skip IF Resampler in class FmDecoder to reduce CPU usage for typical settings (i.e., IF sample rate is set to 384 ksamples/sec for Airspy HF+).
  • Removed unnecessary error detection code for MultipathFilter::process().
  • Other miscellaneous fixes. See CHANGES.md for the details.