Free CAD Tools for design

Looks like a few CAD tools have reached the realms of the public domain that seem to be particularly suited to RFMW, Digital filters, simulations etc. This sudden explosion of public domain freeware is certainly a welcome development for cash strapped small companies. At SPG we have evaluated a few of these tools and even developed some of our own, albeit not as complex. We were impressed by Octave and Scilab that provide a certain level of relief from the extremely expensive MATLAB for instance. Given that these tools are much harder to install and not as user friendly. Another tool we liked was QUCS ( Quite Universal Circuit Simulator). It does a pretty good job. Although we were disappointed to find that it does not have a HEMT model that could have made a big difference to us. Another tool we really like is GNUPLOT. A very useful and user friendly plotting utility. We have been using this for a while and it has proved to be really superb. Kudos to the developers. In addition we too have a large number of calculators and small utilities for RFMW design, analog design, filter design and DSP that we have developed. They fill the gap between what we cannot find on the market and/or do need to pay a kings ransom to own. Please visit our website for more info about us and technical papers.

Identities and information to either refresh a practicing RFMW engineer’s memory or to quickly be used in the practical design of circuits and subsystems. A small Book with very useful information, equations and supporting freeware.

Half band filters- a tutorial

Half band filters are very useful digital filters that find use in decimation of multi-rate signals and in the decimation filters for delta sigma ADCs. A paper on these useful filters is available in Signal Processing Group Inc. by request. Please contact us at spg@signalpro.biz if you would like a copy. Please visit our website for more technical info.

Digital filter design MATLAB utilities

For those of us who may be involved in digital signal processing of signals, and specially digital filtering, MATHWORKS ( MATLAB) has developed and offers the following utilities ( among others) to help us design and analyze these types of filters. The utilities that the author has used and found very useful are: remez, freqz, fir1, impz, various window functions. Remez implements the Parks- McClellan algorithm. In this utility the user provides a frequency, magnitude pair and the order of a required filter. The utility provides the coefficients of the filter. Apparently remez has been replaced by firpm. Details of the techniques are on Google or MATLAB.
freqz calculates the frequency response of a digital filter given the coefficients of the transfer function ( b,a) and n, the number of frequency points to be calculated. The result is a two dimensional matrix [h,w] where h is the frequency response at the frequency point w. Details on Google or MATLAB.
impz is another very useful utility that calculates the impulse response of a filter. Given the numerator and denominator coefficients of he filter, impz returns the impulse response h, and the time t of the response.
stem is a very useful utility that can be used to plot the impulse response as a collection of stems with little circles at their termination points.
plot is another very useful function that plots responses of filters ( and other quantities) in MATLAB.
All of these utilities have multiple options and the user can access these using MATLAB.
Please visit the Signal Processing Group Inc. website for more useful technical information

Sinx/x and sinx/x squared response

The sinx/x and the sinx/x squared response is a very popular response that occurs repeatedly in the literature in electrical engineering, mechanical engineering, economics, finance, medicine etc. The image shown here presents the sinx/x squared and the sinx/x response superimposed on each other. Note the difference in responses. For example if sinx/x is the amplitude response then sinx/x squared is the power response. !

Please visit the Signal Processing Group Inc., website for more technical info.

Half band filter windowed sinc impulse response calculator using javacript

The windowed sinc technique of designing FIR filters is a useful technique that is understandable and usable. The results may need some amount of trimming, but all in all a useful technique to know. The free javascript available from the Signal Processing Group Inc website provides a working prototype to use for windowed sinc design. The available javascript uses a Blackman window, but other windows can easily be used in it. There are only two other parameters specified by the user. M, the order that should be even and fc, the cut off frequency. Once run, the script gives the impulse response. which in turn can be used to plot the frequency response. Please visit the SPG website for more technical articles and information.

Nyquist frequency, Nyquist rate, digital signal processing time units, n, w, radians/sample. radians/second, Hertz etc.

It seems that DSP becomes confusing when you start, either reading about, or writing about, DSP quantities like filtering and modeling. Here is the scoop on this, to help if you need it.

First, Nyquist frequency and Nyquist rate: A band limited signal may be sampled by another signal (fs) that has a frequency two times the bandwidth ( B). B is called the Nyquist frequency and fs is called the Nyquist rate or simply the sample rate. Nyquist frequency is fs/2 if fs is twice B. These quantities can be normalized to fs = 1 ( normalized to fs) and the Nyquist frequency can be normalized to 0.5. ( Normalized to (fs/2)/fs.). Normalized Nyquist rate = 1. Normalized Nyquist frequency = 0.5. Samples/second. Some CAD tools use the Nyquist frequency as the normalization constant ( MATLAB filter design).

When the non normalized frequency is in terms of w, the angular frequency ( radians/second) and when this is normalized by the sample rate in samples/second the result is in radians/sample. Thus the normalized Nyquist frequency is pi radians/sample, and the normalized Nyquist rate is 2pi radians/sample.

There are also conversions available ( Wikipedia). f(radians/sample)=f(cycles/sec)*(2pi)/fs.

Please visit Signal Processing Group Inc. website for more technical info.

Decimation of digital signals

Decimation is a clever technique in digital signal processing that allows multi-rate processing of digital signals. A high sampling rate signal can be down sampled in such a manner that data is not lost in the process and yet a communication link is established. For example , a long wave communication channel for communicating with submarines. To further our understanding of decimation lets consider a band limited signal sampled at 300 Khz.

Assume the highest frequency component in the signal is at 100 Khz. If I want to reduce the sampling rate down to 100 Khz, then I must make sure there are no components of the input signal above 50 kHz. However, as mentioned above the signal has some components at 100 Khz. So if we really want a low sampling rate we will have to band limit the signal to 50 Khz. We must filter the signal before applying it to a down sampler. This technique and the combination of filter and down sampler is called DECIMATION.

Impedance matching new book .

A follow on book to “VSWR and Impedance matching ” has been published and is available on Amazon entitled ” Practical Impedance matching”, This book adds many more topics to the contents of the earlier book. Please access it at:
https://www.amazon.com/Practical-Impedance-Matching-techniqes-electronic/dp/198666662X/ref=sr_1_1?dchild=1&keywords=practical+impedance+matching+ain+rehman&qid=1587492727&sr=8-1 . Please visit the Signal Processing Group Inc., website for more information.

Book deals with practical techniques of impedance matching

ESP8266 sensor interface and cloudserver interface

Interesting project completed that uses a ESP-01 to detect sensor outputs and sends the results to the cloud server. The sensor output may have to be conditioned somewhat if the least expensive ESP device has to be used. In any case, code was written using javascript to talk to the server. So the system is simple at this point. The ESP – 01 sends the results of the measurement to the cloud server and the javascript along with HTML can be accessed via a PC or a IPhone to read the data and generally communicate with the cloud server. The system is working well and further refinements are planned and will be reported. Please visit the Signal Processing Group Inc., website for more info.

ESP8266 work Mark 5. Connect a sensor output to the cloud server

This work was done using an ESP8266 ESP-01 device with pin2 of the device connected to a sensor output ( conditioned). The software that drives the ESP-01 was written to send the sensor output to a cloud server. The work took a little time to get everything sorted out but ultimately it worked well. Now the ESP-01 connects to the local gateway and via that gateway connects to the cloud server. A webpage with some javascript connects to the server when reading the information written there by the ESP-01. Please visit the Signal Processing Group Inc. website for more information and articles of interest.