Inputting a .wav file on MultiSim

Thread Starter

ElectricalEngineer

Joined Jun 17, 2009
4
Hey all,

Let me just explain to you the background of my situation. I am taking a Circuits 1 course and we are nearly done with the semester. We have a bonus assignment that requires us to create a passive filter(either High/Low/BandPass or BandReject) inorder to filter a distortion in an audio file in the form of .wav

The proffessor told us that this bonus assignment is beyond the scope of this course, and thus it will boost up our final grade upon completion.

I need someone to guide me in the right direction. She uploaded 2 files, noisyspeech.wav and cleanspeech.wav. After hours of trying to mess around with MultiSim, I have yet to reach a solution to that.

My gut feeling is that it will be a BandPass filter, hence I can use the Filter Wizard for creating that.

Thanks in advance, and please find the speech files attached. :)
 

Thread Starter

ElectricalEngineer

Joined Jun 17, 2009
4
After reading the chapter on Frequency Selective Circuits (Chapter 14, Electric Circuits, Nilsson & Riedel). I think that the filter I need to create is a Bandpass Filter since the human voice has a certain range of frequency, 85 to 155 Hz, hence I will need 2 cuttoff frequencies for the Bandpass filter inorder to filter out the noise in the speech file. I will be using the Filter Wizard, by selecting the Bandpass filter option.

My question remains as to how to input the .wav file on MultiSim
 

SgtWookie

Joined Jul 17, 2007
22,230
I don't have Multisim, but I performed an FFT on the .wav file using LTSpice.

See the attached for the simple PSpice commands that I used, and the resulting plot.

[eta]
Both of the .wav files were sampled at an 8kHz rate. The .tran SPICE directive should be changed to reflect that sample rate:
.tran 0 4s 0s 10uS
becomes:
.tran 0 4s 0s 125uS

The other LTSPICE directive "plays" the .wav file as a segmented voltage source over time:
V1 Wav 0 wavefile=.\noisyspeech.wav chan=0

The LTSPICE directive dissected:
V1: Tells LTSpice that the following information should be treated as a voltage source
Wav: the label (node name) of the positive side of the voltage
0: the label of the negative side of the voltage; in this case it's connected to ground.
wavefile=.\noisyspeech.wav : the name of the wavefile and where it's located; in this case the same directory as WAVplot.sch is located.
chan=0 : Chan may be set to specify which channel is used. By default, the first channel, number 0, is used. The .wav file is interpreted as having a full scale range from -1V to 1V.
 

Attachments

Last edited:

SgtWookie

Joined Jul 17, 2007
22,230
Found some snippets on another site that may be useful to you:

Convert wav file into time domain in MATLAB with
-wavread
Save the time domain data to a txt file with matlab.
When exporting a wavefrom from the Grapher View window to a TDM or LVM, you have the option to resample your data. In the box labeled 1/delta x, fill in the sampling rate you want for your audio file (e.g. 44.1k). Choosing spline interpolation will also help improve the quality of your audio file.
Design a filter with multisim.
Input the data with a piecewise linear voltage source that is linked to the text file.
 
Top