How to plot frequency vs gain for a filter?

In summary, the conversation discusses the process of plotting a graph using a given transfer function, specifically for a bandpass filter. The function H(z) is used, where z represents the frequency variable. The conversation also touches upon the use of complex arithmetic and the potential challenges of using programming languages such as C# or Python for this task. Various resources and references are suggested for further understanding and inspiration.
  • #1
trip6
6
0
Hello,

I am trying to understand how this graph http://en.wikipedia.org/wiki/File:Bandwidth_2.svg
gets plotted. My goal is to write a small program that takes the center frequency/bandwidth and a (cut/boost) gain values and plot the curve.

I initially assumed, all I needed to find was an equation of gain in terms of frequency to plot it. I have been searching for a few weeks now and I keep running into transfer functions and many different types of them. But I don't understand how this translates into a gain(yaxis) vs freq(xaxis) plot.

For example, I found the following equation at http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt

b0 + b1*z^-1 + b2*z^-2
H(z) = ------------------------ (Eq 1)
a0 + a1*z^-1 + a2*z^-2


the a0,a1,a2,b0,b1,b2 are calculated in terms of frequency/gain/bandwidth. On plotting H(z) I get something that looks like a bandpass filter curve but what does H(z) and z represent?

I don't have an electrical engineering/math background but am really interested in understanding how this bandpass curve gets drawn. Any advice on how to go about this would be greatly appreciated. Thanks!
 
Engineering news on Phys.org
  • #2
What programming language do you intend to use to write your plotting program?

The function H(z) is simply the transfer function itself. The z is the frequency variable. The symbol z is customarily used for digital filters. For analog filters, it's customary to use the variable s, so your transfer function might be denoted H(s).

Do you understand complex arithmetic? The plotting of frequency responses from given transfer functions is most conveniently done using complex arithmetic.

It is possible to convert typical transfer functions to a form that doesn't involve complex arithmetic, but they then become very much more complicated.
 
  • #3
Thanks for the response. I have done complex arithmetic in college, but have never found a use for it since. I don't mind dusting out the cobwebs if it makes plotting the curve simpler. I am just not very sure where to start.

As to the language, I would use C# or python. I have seen audio apps where the user interface allows graphical manipulation of the wave by picking a center frequency, setting a db level and the pass band. I would like to do something like that.
 
  • #4
Have a look at this:

http://jegyzet.sth.sze.hu/ftp/!BSc/Szabalyozastechnika/BodePl.pdf

This reference should help a lot.

Usually one uses an application like Matlab to do these kind of plots. It has built-in functions for the purpose. It certainly can be done in C# or Python, but it won't be as easy.

Here is a program to do Bode plots. I don't know if the author's source code is available, but maybe you can contact him about it.

http://www.bode.cg.yu/

Part of your problem beyond just learning how to do the plots will be how to get the transfer function for your desired filter with explicit parameters for center frequency/bandwidth and (cut/boost) gain values.
 
Last edited by a moderator:
  • #5
The Electrician said:
Have a look at this:

http://jegyzet.sth.sze.hu/ftp/!BSc/Szabalyozastechnika/BodePl.pdf

Thanks for the pdf. Very useful though its taking a while to fully digest...

Part of your problem beyond just learning how to do the plots will be how to get the transfer function for your desired filter with explicit parameters for center frequency/bandwidth and (cut/boost) gain values.

I don't really have a "desired filter". I really just want to provide an (interactive) visualization, where the user picks a center frequency, chooses to cut or boost gain and then sets a pass band. Should be basically able to manipulate the curve through this interface.
 
Last edited by a moderator:

1. What is frequency and gain in relation to a filter?

Frequency refers to the rate at which a signal or electrical current repeats itself, measured in Hertz (Hz). Gain, on the other hand, is a measure of the amplification or attenuation of a signal passing through a filter, usually measured in decibels (dB).

2. How do I determine the frequency response of a filter?

To determine the frequency response of a filter, you will need to measure the gain at different frequencies. This can be done by inputting a signal with a known frequency into the filter and measuring the output signal using an oscilloscope or spectrum analyzer. By plotting the measured gain at different frequencies, you can create a frequency response curve that shows how the filter affects the input signal at different frequencies.

3. What types of filters can be plotted on a frequency vs gain graph?

Frequency vs gain graphs can be used to plot the frequency response of any type of filter, including low-pass, high-pass, band-pass, and band-stop filters. They can also be used to compare the frequency response of different filters.

4. What does a frequency vs gain plot tell us about a filter?

A frequency vs gain plot provides a visual representation of how a filter affects the input signal at different frequencies. It shows the level of attenuation or amplification at each frequency and can help identify the cutoff frequency, passband, and stopband of the filter. It can also be used to compare the frequency response of different filters and determine which one is best suited for a specific application.

5. How can I optimize the frequency response of a filter?

To optimize the frequency response of a filter, you can adjust the parameters of the filter, such as the cutoff frequency, bandwidth, and Q factor. These adjustments can be made using software or by physically adjusting the components of the filter. Additionally, you can use a combination of different filters to achieve a desired frequency response.

Similar threads

Replies
4
Views
3K
  • Electrical Engineering
Replies
4
Views
8K
Replies
7
Views
639
  • Engineering and Comp Sci Homework Help
Replies
9
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
8
Views
2K
Replies
3
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
1K
  • Electrical Engineering
Replies
9
Views
2K
  • Calculus and Beyond Homework Help
Replies
12
Views
1K
Replies
7
Views
3K
Back
Top