Image and Signal Processing Using Matlab
1. Image Processing Using Wiener Filter
The Wiener filter can be used to filter out the noise from the corrupted signal to provide an estimate of the underlying signal of interest. The Wiener filter is based on a statistical approach, and a more statistical account of the theory is given in the minimum mean square error estimator article.
2. Audio Sigmal Processing Using Fdatool
The audio must be in wav format and if you don`t have it, and then you can make it through many programs available on the Internet.
By fdatool, we can design high-pass or lowpass or bandpass filters. Also, digital filters may be IIR or FIR; In my case I`m designing a highpass filter and I`m trying to eliminate the deep voice.
In this example we will make a high pass filter. The steps are the following:
put the command > fdatool
When the window opens, we write the following information:
Type IIR - Elliptic
Fs = 8000 Hz
Fstop = 1500 Hz
Fpass = 2000 Hz
Astop = 60 dB
Apass = 1 dB
Click on Design Filter
Structure> Current filter information> convert to single section
File> Export ...
We give a name to the numerator and denominator of the filter.
Finally click on Export and save the project.
In the Matlab code we have to put the audio path that we will process and the name of the audio that we will create. When we run the code we will have audio signal processed in the same folder as the original audio signal.
%save the audio
3. Plotting Fourier Transform Functions
In this experience we can play with the functions of the Fourier Transform: rectangular, triangle, exponential, decaying oscilllation and Gauss.
4. Bandpass RLC Circuit
We can create a simulator of an RLC circuit by using Matlab. Here we can change the type of filter and the values of the resistance, capacitance and inductance and consequently the diagrams are varied.
5. Plotting Riemann Z Function
To graph the Riemann Z function we can use the mupad tool and insert the following commands shown in the image.
plotfunc2d(abs(zeta(1/2 + y*I)), y = 0..30, Mesh = 500)
plotfunc2d(abs(zeta(1/2 + y*I)), y = 0..30, Mesh = 500, AxesTitles = ["y", "zeta"])
plotfunc2d(abs(zeta(1/2 + y*I)), y = 0..50, Mesh = 500, AxesTitles = ["y", "zeta"])
zeta(1 + I, 1)
zeta(0.5 + 14.13472514*I, 2)
numeric::solve(zeta(1/2 + I*y), y = 10..20)
numeric::solve(zeta(1/2 + I*y), y = 10..22)
numeric::solve(zeta(1/2 + I*y), y = 20..26)
Links with similar content:
- Switch With dsPIC30F4013
Show my experiences with the dsPIC30F4013 and an example.
- My Automation Home with Arduino
Show my experiences developing an Automation Home with Arduino and App Inventor 2.
- My Weather Station With Arduino
Show my experiences developing weather stations
- Led Matrix With Arduino UNO
Show the use of a LED Matrix with Arduino
- Image and Signal Processing Using Matlab
Show my experiences to process images and audio signals by using Matlab.
- My Projects with Mega2560
Projects realized with the Mega 2560 board
- My Favorite Projects with Arduino UNO and Mega2560
Projects realized with the Arduino UNO and Mega 2560 boards
- My Favorite Projects With PICC
Show my experiences with the PIC16F887 using the PICC compiler.
- My Favorite Projects With The XC8 Compiler
Show my experiences with the XC8 Compiler and PIC16F887 microcontroller
© 2017 Guillermo Perez Guillen