Topics covered include: circuit abstraction, circuit elements such as resistors and sources, signals, and networks; circuit design and circuit analysis methods; digital abstraction, digital logic, and basic digital design; electronic devices including MOSFETs, digital switches, amplifiers; Energy storage elements like capacitors and inductors; dynamics of first-order and second-order networks and circuit speed; design in the time and frequency domains; op-amps, filters, and analog and digital circuits, signal processing, and applications. Design and lab exercises are also significant components of the XSeries program.
Expand your data analysis and modeling skills in MATLAB, a programming and numeric computing platform used to analyze data, develop algorithms, and create models. Millions of engineers and scientists worldwide use MATLAB to study and build advanced applications in machine learning, deep learning, signal processing, communications, image processing, and control systems. They are shaping the future by modeling rockets that may someday take you into space, developing autonomous vehicles to travel safely and efficiently, and designing wave farms that harness the power of ocean waves to generate clean energy.
This Specialization provides a full course in Digital Signal Processing, with a focus on audio processing and data transmission. You will start from the basic concepts of discrete-time signals and proceed to learn how to analyze data via the Fourier transform, how to manipulate data via digital filters and how to convert analog signals into digital format. Finally, you will also discover how to implement real-time DSP algorithms on a general-purpose microcontroller. The solid theoretical bases provided by the four courses in this specialization are complemented by applied examples in Python, in the form of Jupyter Notebooks; exercises with solutions provide a wealth of examples in order to tackle the weekly homework.
If loading was successful, the variable s contains a HyperSpy signal or anytype of signal defined in on of the HyperSpy extensions- see available signal subclasses for moreinformation. To list the signal types available on your local installation use:
HyperSpy will try to guess the most likely data type for the correspondingfile. However, you can force it to read the data as a particular data type byproviding the signal_type keyword, which has to correspond to one of theavailable subclasses of signal, e.g.:
Some file formats store some extra information about the data (metadata) andHyperSpy reads most of them and stores them in theoriginal_metadata attribute. Also, depending onthe file format, a part of this information will be mapped by HyperSpy to themetadata attribute, where it can be used bye.g. routines operating on the signal. See metadata structure for details.
The units of the navigation and signal axes can be converted automaticallyduring loading using the convert_units parameter. If True, theconvert_to_units method of the axes_manager will be used for the conversionand if set to False, the units will not be converted (default).
By default HyperSpy will return a list of all the files loaded. Alternatively,by setting stack=True, HyperSpy can be instructed to stack the data - giventhat the files contain data with exactly the samedimensions. If this is not the case, an error is raised. If each file containsmultiple (N) signals, N stacks will be created. Here, the number of signalsper file must also match, or an error will be raised.
The hyperspy HDF5 format supports chunking the data into smaller pieces to make it possible to load only partof a dataset at a time. By default, the data is saved in chunks that are optimised to contain at least onefull signal. It is possible tocustomise the chunk shape using the chunks keyword.For example, to save the data with (20, 20, 256) chunks instead of the default (7, 7, 2048) chunksfor this signal:
Note that currently it is not possible to pass different customised chunk shapes to all signals andarrays contained in a signal and its metadata. Therefore, the value of chunks provided on savingwill be applied to all arrays contained in the signal.
By default, uniform is used but a warning of the linearisation error is issued.Explicitly passing hamamatsu_streak_axis_type='uniform' suppresses the warning.In all cases, the original axis values are stored in the original_metadata of thesignal object.
The file will be saved with the same bit depth as the signal. Sincemost processing operations in HyperSpy and numpy will result in 64-bitfloats, this can result in 64-bit .tiff files, which are not alwayscompatible with other imaging software.
HyperSpy can read both .spd (spectrum image) and .spc (single spectra)files from the EDAX TEAM software and its predecessor EDAX Genesis.If reading an .spd file, the calibration of thespectrum image is loaded from the corresponding .ipr and .spc filesstored in the same directory, or from specific files indicated by the user.If these calibration files are not available, the data from the .spdfile will still be loaded, but with no spatial or energy calibration.If elemental information has been defined in the spectrum image, thoseelements will automatically be added to the signal loaded by HyperSpy.
HyperSpy can read and write the blockfile format from NanoMegas ASTAR software.It is used to store a series of diffraction patterns from scanning precessionelectron diffraction (SPED) measurements, with a limited set of metadata. Theheader of the blockfile contains information about centering and distortionsof the diffraction patterns, but is not applied to the signal during reading.Blockfiles only support data values of typenp.uint8 (integersin range 0-255).
The select_type parameter specifies the type of data to load: if image is selected,only images (including EDS maps) are loaded, if single_spectrum is selected, onlysingle spectra are loaded and if spectrum_image is selected, only the spectrumimage will be loaded. The first_frame and last_frame parameters can be usedto select the frame range of the EDS spectrum image to load. To load each individualEDS frame, use sum_frames=False and the EDS spectrum image will be loadedwith an extra navigation dimension corresponding to the frame index(time axis). Use the sum_EDS_detectors=True parameter to load the signal ofeach individual EDS detector. In such a case, a corresponding number of distinctEDS signal is returned. The default is sum_EDS_detectors=True, which loads theEDS signal as a sum over the signals from each EDS detectors. The rebin_energyand SI_dtype parameters are particularly useful in combination withsum_frames=False to reduce the data size when one want to read theindividual frames of the spectrum image. If SI_dtype=None (default), the dtypeof the data in the emd file is used. The load_SI_image_stack parameter allowsloading the stack of STEM images acquired simultaneously as the EDS spectrum image.This can be useful to monitor any specimen changes during the acquisition or tocorrect the spatial drift in the spectrum image by using the STEM images.
HyperSpy can read heater, biasing and gas cell log files for Protochips holder.The format stores all the captured data together with a small header in a csvfile. The reader extracts the measured quantity (e. g. temperature, pressure,current, voltage) along the time axis, as well as the notes saved during theexperiment. The reader returns a list of signal with each signal correspondingto a quantity. Since there is a small fluctuation in the step of the time axis,the reader assumes that the step is constant and takes its mean, which is agood approximation. Further release of HyperSpy will read the time axis moreprecisely by supporting non-uniform axis.
h5USID files support the storage of HDF5 dataset withcompound data types.As an (oversimplified) example, one could store a color image using a compound data type that allowseach color channel to be accessed by name rather than an index.Naturally, reading in such a compound dataset into HyperSpy will result in a separatesignal for each named component in the dataset:
The loader will follow version 3 of theNexus data rules.The signal type, Signal1D or Signal2D, will be inferred by the interpretationattribute, if this is set to spectrum or image, in the NXdatadescription. If the interpretation attribute isnot set, the loader will return a BaseSignal, which must then be convertedto the appropriate signal type. Following the Nexus data rules, if a defaultdataset is not defined, the loader will load NXdataand HDF datasets according to the keyword options in the reader.A number of the Nexus examplesfrom large facilties do not use NXdata or use older versions of the Nexusimplementation. Data can still be loaded from these files but information orassociations may be missing. However, this missing information can be recoveredfrom within the original_metadata which contains the overall structure ofthe entry.
Nexus files can contain multiple datasets within the same file, but theordering of datasets can vary depending on the setup of an experiment orprocessing step when the data was collected.For example, in one experiment Fe, Ca, P, Pb were collected but in the next experimentCa, P, K, Fe, Pb were collected. HyperSpy supports reading in one or more datasetsand returns a list of signals but in this example case the indexing is different.To control which data or metadata is loaded and in what ordersome additional loading arguments are provided.
By default, the loader will look for stored NXdata objects.If there are hdf datasets which are not stored as NXdata, but whichshould be loaded as signals, set the nxdata_only keyword to False and allhdf datasets will be returned as signals:
When saving multiple signals, a default signal can be defined. This can be used when storingassociated data or processing steps along with a final result. All signals can be saved buta single signal can be marked as the default for easier loading in HyperSpy or plotting with Nexus tools.The default signal is selected as the first signal in the list: 2b1af7f3a8