Wolfram Computation Meets Knowledge

Wolfram Summer School


Noah Hardwicke

Science and Technology

Class of 2018


Noah Hardwicke is an undergraduate physics student at the University of Nottingham in the UK. With an interest in radio astronomy, he has presented work on meteor scatter at the Society for Popular Astronomy and solar observation via sudden ionospheric disturbances at the British Astronomical Association, and was the youngest speaker at both. A relative novice to programming, he has been using the Wolfram Language since arriving at university; this has developed his interest in computational physics.

Computational Essay

Effect of Geomagnetic Reversal on Cosmic Ray Penetration in the Atmosphere as a Cause of Mass Extinctions »

Project: FM Demodulation in the Wolfram Language


Transmission of information by radio is commonly implemented with frequency modulation (FM) where the instantaneous frequency of a carrier wave is varied in accordance with a modulating signal. This project aims to implement an FM demodulation function in the Wolfram Language.

Main Results in Detail

Given a modulated wave generated in software, the demodulating function restored the original signal without distortion or artifacts, but the results using recorded signals were less faithful due to processing before and after demodulation. Accurately isolating the frequency domain of the carrier wave from a spectrum of frequencies was complicated by noise, and applying filters with set window sizes introduced spurious signals. Improving the former by clipping out background noise could worsen the latter by introducing abrupt boundaries in frequency, which were demodulated into spurious signals. Demodulation of raw signal from the SDR produced slightly distorted audio with significant noise, but the audio was discernible and speech could be understood. Noise was reduced by preprocessing the signal with Fourier and inverse Fourier transforms that used an amplitude threshold to clip out background noise. Applying combinations of bandpass and averaging filters to the demodulated signal further helped to reduce noise and clarify the audio; however, spurious signals from earlier processing were hardened and amplified. Finally, a filter that clipped data based on the local gradient of the signal was applied to remove, with some success, the spurious signals. The resulting audio was easily intelligible but by no means clean.

Future Work

Interface the Wolfram Language directly with common software-defined radios and improve filters.