carr = uc * cos(2*pi*fc*t);
mod = umod * square(fmod*pi*t, duty);
lsb = ssbmod(mod, fc, fs);
[carrierSpectrum, carrierFreqDom] = Spectrum(carr ,t);
stem(carrierFreqDom, carrierSpectrum)
title('Amplitude spectrum of carrier signal');
FreqDomainInfo( max(carrierSpectrum) );
title('Modulating signal');
[modSpectrum, modFreqDom] = Spectrum(mod ,t);
stem(modFreqDom, modSpectrum)
title('Amplitude spectrum of modulating signal');
FreqDomainInfo( max(modSpectrum) );
TimeDomainInfo( max(lsb) );
[lsbSpectrum, lsbFreqDom] = Spectrum(lsb, t);
stem(lsbFreqDom, lsbSpectrum)
title('Amplitude spectrum of LSB signal');
FreqDomainInfo( max(lsbSpectrum) );
[lsbSpectrum, lsbFreqDom] = Spectrum(lsb, t);
stem(lsbFreqDom, lsbSpectrum)
title('Amplitude spectrum of LSB signal');
FreqDomainInfo( max(lsbSpectrum) );
function [spectrum, freqrange] = Spectrum(signal, t)
spectrum = fft(signal, nfft);
spectrum = spectrum(1 : nfft/2);
spectrum = spectrum / scalefactor;
spectrum = abs(spectrum);
freqrange = 0 : 1 : nfft/2 - 1;
function TimeDomainInfo(amp)
ylim([-1.25*amp 1.25*amp]);
function FreqDomainInfo(amp)
xlabel('Frequency [kHz]');