1 Noise Simulation and Reduction in AM-SSB Radio Systems Thiago D. Olson, Zi Ling, and Mohammad Naquiddin A. Razak Abstract Ham radio transmission distance is affected by many different external sources. This paper discusses the simulation and reduction of the signal-to-noise ratio in AM- SSB radio systems after recovery of these signals on the receiving end of Ham systems. MATLAB is used to approximately simulate a typical 40m band ham radio, demodulate, and apply different filtering methods to minimize the noise added during transmission. Minimizing this noise is especially difficult as the frequency spectra of the noise and signal overlap; simple filtering methods would not be appropriate. We determine which advanced filtering method works best in minimizing noise. Index Terms AM-SSB, Ham Radio, Noise Filtering, Wiener Filter, Boll Spectral Subtraction I. INTRODUCTION H AM radio is defined as the licensed but private and noncommercial use of certain designated radio bands. They can use a variety of different frequencies and modulation techniques to transmit a signal. An estimated two million people around the world are involved with or use these radios. Ham radios can use AM, FM, SSB and VSB to transmit signals to one another. The technique that is used the most for amateur voice communications is the single sideband (SSB) method. So that is what will sole be used throughout this paper. SSB radio at the 40 meter band (7MHz) is considered the most reliable all-season band. Popular at night, 40 meters is also reliable for medium distance (1500KM) contacts during the day. The ionosphere plays a large part in the transmission of AM signals especially at the 40m band. The ionosphere is affected by solar activity. During the day ion populations change and effectively allow much of the radio waves to pass. During the night, resonant frequencies in the 40m range in the ionosphere are more easily reached, reflecting the radio waves back down to ground and greatly increasing the range. This project seeks to simulate a 40 meter radio system, and to recover weak or low signal-to-noise signals. White noise will be added to simulate a weak signal due to long range and/or absorption into the atmosphere. (Differences between day and night can be simulated). Different filters on the receiving end will be implemented to retrieve the original voice recording amidst noise within the frequency spectrum of the signal. A. Data II. METHOD The original signal to be transmitted is recorded on a computer at the beginning of the program using the wavrecord function in MATLAB. Fig.1, shows the spectrum of the original signal (a whistle) with a peak easily seen at 2kHz. Manuscript received April 21, 2011. T. D. Olson is a student in the Electrical Engineering Department, Vanderbilt University, Nashville, TN. He was involved in the MATLAB coding of modulation, demodulation, and filtering for the ham radio simulation and responsible for the final report. Z. Ling is a student in the Electrical Engineering Department, Vanderbilt University, Nashville, TN. He was involved in the MATLAB coding of modulation, demodulation, and filtering for the ham radio simulation and the theory of the project. M. N. A. Razak is a student in the Electrical Engineering Department, Vanderbilt University, Nashville, TN. He was involved in the MATLAB coding of modulation, demodulation, and filtering for the ham radio simulation, as well as the commenting of the code. Fig. 1. Fourier transform of the original recorded signal. The frequency spectrum of the inputted signal (a whistle), can clearly be seen. This figure has been shifted using fftshift in MATLAB to place zero at the center of the spectrum.
2 B. Procedure For this project, SSB-SC was chosen to modulate the original signal. For SSB-SC modulation, a Hilbert transform of the input signal is needed, which is achieved by simply applying Hilbert function in Matlab. The Carrier frequency used is 12kHz with a sampling frequency is 40.96kHz. This carrier frequency was chosen due to the constraints in simulating Mhz size signals on a laptop. The carrier frequency was therefore scaled down to a more reasonable 12khz, which is still much higher than the whistle tones in the input. The SSB-SC function is shown below: The whole modulation procedure is shown in Fig. 2. In this project, upper single side band is adopted for the following simulation. The signal is then passed through a low pass filter to remove the unwanted high frequency components from demodulation. The frequency response of this low pass filter can be seen in Fig. 4. After the signal goes through the low pass it is relatively weak and has plenty of noise added to it. Now the task of eliminating as much noise as possible is a difficult one, and is a problem that has never quite been solved. The frequency spectra of the noise and signal over lap so simple filters would not work well. Two different advanced filters are tested, the Boll spectral subtraction filter and the Wiener filter. Both of these filters rely on Listening to the background noise without the signal for about a quarter of a second to determine what is needs to subtract from the signal to eliminate the noise and yet keep the signal. Figure 2 Modulation process of SSB-SC Noise is created by using the pseudorandom functions in MATLAB. It is a combination of a uniformly distributed random signal and normally distributed random signal. The noise created is for the purpose of simulation the same as white noise within the human speech frequency spectrum; this is shown in Fig. 7. Noise is added at the beginning of the modulation stage which is the input stage. For further studies, the noise may be applied into different stages of the modulation process to see if the result would be any different. The sensitivity to added noise may be different at different points in the radio transmission process but the noise is random and in the end there is just a signal with noise that needs to be filtered out, and should not change any of the conclusions of this simulation. Fig. 4. Frequency response and phase response of low pass filter used after demodulation to remove the high frequency components. Coherent demodulation is used for the SSB-SC signal. The demodulation process is shown below in Fig. 3. The modulated signal is multiplied by a carrier with the same carrier frequency. Figure 3 Demodulation process of SSB-SC Fig. 5. Frequency response and phase response of a Boll spectral subtraction filter. This is the response with the signal running through it, this filter is a adaptive/predictive filter and therefore needs at least a.25 second long signal to form a response.
3 Fig. 6. Frequency response and phase response of Wiener filter. This is the response with the signal running through it, this filter is a adaptive/predictive filter and therefore needs at least a.25 second long signal to form a response. Fig. 7. Frequency spectrum of the noise generated to be added to the original signal. As can be seen at these frequencies the noise is quite uniform, and can be used as a white noise source. A very important task in this project was to see how effectively the noise can be eliminated by using the different kinds of filters. A very important measurement is the signal-to noise-ratio (SNR), which is defined below: Basically, it is the ratio of signal power and noise power in db. However, it is hard to get the precise power of signal and noise, averages are usually used. We will make a few estimations of the SNR in the following part. III. IV. RESULTS Successful simulation of an AM upper side band signal is observed. The noise code successfully approximated white noise in our desired frequency range, and sounded good when added to the signal. Demodulation and low pass filtering to recover the noisy signal also worked well with only a small drop on the signal level. Both the Wiener and the Boll spectral subtraction filter worked well at eliminating noise, but the Wiener filter worked better, much less noise is evident at the base of the signal peaks in Fig 12. Both filters also have the problem of distorting the original signal, the noise is greatly reduced but the resulting signal sounds very much like a robot. Fig. 8. Fourier transform of the original recorded signal with noise added. The floor between the peaks can be seen to be higher than in Fig. 1.
4 Fig. 9. Time and frequency domain of the modulated signal, the center of the peaks can be seen to be around 12kHz, the carrier frequency. The upper and lower side bands are shown for comparison. Fig. 11. Frequency spectrum of the demodulated signal after the low pass filter. The middle of the noise is cut out but there is still noise evident at the base of the signal peaks. Fig. 10. The frequency spectrum of the demodulated signal with additional high frequency components from the demodulation multiplication. Fig. 12. Frequency spectrum of the demodulated signal and Wiener filtered signal. The signal is much more noise free at the base of the signal peaks.
5 Fig. 13. Frequency spectrum of the demodulated signal and Boll spectral subtraction filtered signal. Noise is reduced but still very evident around the peaks. V. CONCLUSION The performance of a filter can be measured by looking at the performance of the filter in suppressing the noise and keeping the original signal in the best quality. Based on the frequency spectrum of each filter, we can conclude that the Wiener filter had the best performance in filtering the noise. This can be proved by playing the audio record as well less noise can be heard. The amplitude of the message was decreased after filtering the noise thus a weaker sound can be heard. We have amplified the filtered signal so that we could hear a louder recorded signal. The Wiener filter had the best signal to noise ratio as we were able to hear the signal at the original volume and suppressing the noise at the lowest level. APPENDIX: MATLAB CODE %%AM-SSB Radio simulation fs = 40960; N = 3*fs; CH=1; t = (0:N-1)/fs; fc = 12000; freqb = fs * (1 : N) / N; m = wavrecord(n,fs,ch);%signal message m= m-mean(m); mh = imag(hilbert(m)); %Hilbert transform of the message signal % Noise generation part n=6144*20; % The number of function evaluations % --- Generate vectors of random inputs % x1 ~ Normal distribution N(mean=100,sd=5) % x2 ~ Uniform distribution U(a=5,b=15) x1 = ( randn(n,1) * 5 ) + 300; x2 = 5 + rand(n,1) * ( 15-5 ); ymonte = x2'.^2./x1'; ynew = m+(ymonte'/10);%signal+noise %imaginary part of the hilbert transform mhynew = imag(hilbert(ynew)); wavplay(m,fs);%play the original sound wavplay(ynew,fs);%play the original sound+noise %freq spectrum of the original signal ym = abs(fft(m)); figure; subplot(221); nfft = length(m); fax = ((-1*nfft/2):(nfft/2-1))*fs/nfft; plot(fax,fftshift(ym)); title('freq spectrum of the original signal'); xlabel('freq'); ylabel('spectral %freq spectrum of noise ynoise = fft(ymonte'/10); subplot(222); plot(freqb,ynoise); title('freq spectrum of noise'); xlabel('freq'); ylabel('spectral %freq spectrum of the original signal + noise subplot(223); ynewb = abs(fft(ynew)); plot(freqb,ynewb); title('freq spectrum of the original signal + noise'); xlabel('freq'); ylabel('spectral %ssb-sc sbu = ynew'.*2.*cos(2*pi*fc*t) - mhynew'.*2.*sin(2*pi*fc*t); %Expression for USB SSB sbl = ynew'.*2.*cos(2*pi*fc*t) + mhynew'.*2.*sin(2*pi*fc*t); %Expression for LSB SSB % subtract the mean (remove the DC component) SBU = 2/N*abs(fft(sbu)); SBL = 2/N*abs(fft(sbl)); sbu = sbu - mean(sbu); sbl = sbl - mean(sbl); freq = fs * (0 : N/2) / N; clc; figure,subplot(211);
6 plot(10*t(1:200),sbu(1:200),'b'); %Time Domain Plot title('time Domain Representation'); xlabel('time'); ylabel('modulated Signal'); subplot(212); plot(freq,sbu(1:n/2+1),freq,sbl(1:n/2+1)) ; %Frequency domain plot title('frequency Domain Representation'); legend('usb','lsb'); figure %demodulation Dmod=sbu*2.*cos(2*pi*fc*t); ydmod = abs(fft(dmod)); plot(freqb,ydmod); title('demodulate Signal'); wavplay(dmod,fs); h=firpm(30,[0.1.29 1],[1 1 0 0]); lpsig = conv(dmod,h,'same'); wavplay(lpsig,fs); ACKNOWLEDGMENT Many thanks go to Dr. Bennett Landman, our signal processing and communications professor for his help, time, and patience in order to make this project a success. REFERENCES [1] B.P. Lathi, Modern Digital and Analog Communication Systems 3 rd, Oxford University Press, New York, 2000. [2] P. Scalart, Wiener filter for Noise Reduction and speech enhancement (2009, June 30). Mathworks [Online]. Available: http://www.mathworks.com/matlabcentral/fileexchange/24462-wienerfilter-for-noise-reduction-and-speech-enhancement [3] E. Zavarehei, Boll Spectral Subtraction (2005, May 18). Mathworks [Online]. Available: http://www.mathworks.com/matlabcentral/fileexchange/7675-bollspectral-subtraction [1] Kelley, M. C, and Heelis, R. A., "The Earth's Ionosphere: Plasma Physics and Electrodynamics". Academic Press, 1989. %freq spectrum (lowpassfiltered signal) ylowp = abs(fft(lpsig)); plot(freqb,ylowp); title('freq spectrum (lowpassfiltered signal)'); output1=ssboll79(dmod,fs,.5); %spectral subtraction advanced filter from source [3]. wavplay(output1*5,fs); freqc = fs*(1:length(output1))/length(output1); youtput1 = abs(fft(output1)); plot(freqc,youtput1); title('freq spectrum (advanced filter)'); output2=wienerscalart96(dmod,fs,.5); %wiener filter from source[2] wavplay(output2*5,fs); youtput2 = abs(fft(output2)); plot(freqc,youtput2); title('freq spectrum (wiener filter)');