<< Chapter < Page Chapter >> Page >
This module details the implementation of a blind source separation system using fast ICA.

Blind source separation via ica:


In order to implement our design to enable the separation of two audio signals, we require two microphones and a processing computer with audio output capabilities. When two microphones are present in an environment with two sources, then they will record a mixing of both these signals, weighted by coefficients base on distance away from the microphone (remember that as a signal is further away from a recording source, the quieter it will be).

The mixed signal inputs of these microphones must then be imported into a processing computer that is able to run code based in C or MatLab (or potentially any other language, but the most efficient algorithm is run in MatLab and C).

The model for these mixed signals can be represented in matrix notation by:

x = A s

As we can see, the signal vector is multiplied by some mixing matrix A. Therefore to isolate the signals s based on the mixed signals x we must find an inverse matrix A-1. To do this we implement a piece of Matlab code known as FastICA . The math behind the algorithm is explained elsewhere but the most important piece of code, the iteration to find the inverse mixing matrix, is displayed here:

% Take a random initial vector of length 1 and orthogonalize it

% with respect to the other vectors.

if initialStateMode == 0

w = randn (vectorSize, 1);

elseif initialStateMode == 1



w = w - B * B' * w;

w = w / norm(w);

wOld = zeros(size(w));

wOld2 = zeros(size(w));

% This is the actual fixed-point iteration loop.

% for i = 1 : maxNumIterations + 1

i = 1;

gabba = 1;

while i<= maxNumIterations + gabba

if (usedDisplay>0)



% Project the vector into the space orthogonal to the space

% spanned by the earlier found basis vectors. Note that we can do

% the projection with matrix B, since the zero entries do not

% contribute to the projection.

w = w - B * B' * w;

w = w / norm(w);

if notFine

if i == maxNumIterations + 1

if b_verbose

fprintf('\nComponent number %d did not converge in %d iterations.\n', round, maxNumIterations);


round = round - 1;

numFailures = numFailures + 1;

if numFailures>failureLimit

if b_verbose

fprintf('Too many failures to converge (%d). Giving up.\n', numFailures);


if round == 0






% numFailures>failurelimit


This iteration will guess a row of the demixing matrix (w in the code) and then run through a loop until it finds a projection that agrees with the statistical analysis behind the decoding.

After running on the supplied mixed signals, the program will output what it thinks are the two original sources and the demixing matrix. We can then use these outputs to complete a variety of tasks such as removing noise from the original signals, matching the original signals with other signals to detect base elements of the mixed signal, or even just simply outputting the original signals through a speaker system.

Questions & Answers

how did Mc connel defined economics
Isaac Reply
what is a economy planning?
Jacob Reply
what is demand
Sunday Reply
demand means desire for a commodity backed by willingness & ability to pay for that commodity
what is supply
supply means suppliers supplying more commodities when price's high or less when price's low to satisfy human want
the coefficient of price elasticity of supply is the measure of percentage change in the quantity supplied of a good due to a given percentage change in its price.
Please what is Economics of Scales?
what is cardinal and ordinal utility?
Cardinal utility is the satisfaction derived by the consumers from the consumption of goods and services while ordinal is ranked in terms of preference.
Please explain what is meant by Economic Integration?
Please I need help!!!!
economics scales I don't know but I know laws of returns to scale
can someone help explain to me what is fairly inelastic dd
Economics Economics - The study of how people use their limited resources to try to satisfy unlimited wants
Economic integration has been one of the main economic developments affecting international trade in the last years. Countries have wanted to engage in economic cooperation to use their respective resources more effectively and to provide large markets for member-countries of the resulting integrate
Inelastic Demand When consumers are relatively unresponsive to price changes. A PED coefficient of less than one means that a particular change in the price of a good will be met by a proportionally smaller change in the quantity demanded.
what is development planning?
Emmanuel Reply
What is economics?
Shubham Reply
economics is study of scarcity and how humans make decisions.
reason for development planning in West Africa
what is development planning?
What is homo Economicus?
nongo Reply
when a person is part 50% rational and the other part of him is 50% focused on money as an incentive
what makes the economy to be stable
what measures are necessary to the economy which is not doing fine
must find out the problems originating from and take remedy for it.
Economics as a social science Discuss
list and explain three implication of balance of payment disequilibrium
Jayson Reply
In economics pollution, what's spillover?
Chinedum Reply
what is net national income
Ibrahim Reply
relation between business economics and traditional economics
Netra Reply
more explanation on GDP
Isaac Reply
it is a country total out put of goods and services divided by the total population of the country.I think it can also be derived from the country labour force,,because it mostly depend on the labour force and the level of technology .
labour force and technological progress leads to greater production increases the GDP
what is elasticity of demand
degree of responsiveness of demand to changes in price and other factors that influence demand.
It is the degree of responsiveness of demand and supply to a little change in price of a goods and services
What is economics?
Bubu Reply
by this time
It is a social science that analyses production,distribution and consumption of goods and services
A social science that study human behavior in relationship with decision making
a social science that studies human behavior as a relationship between ends and scarce means which has alternative uses
it is a science that study human begin as a relation to ends and scarce should which have alternative uses
the science in which we study about the investement of our wealth.
what is competitive demand
a competitive demand is also known as substitute demand .the moment the price of the commodity increase consumers will purchase the other other commodity which it's price is low and the vice versa. an example is milo and bournvita
what is different between equilibrium and demand?
equilibrium is a situation where market is stable there is no entry nor exit. demand is the willingness to pay Which is backed by law.
list and explain three implication of balance of payment disequilibrium?
Economics is a social science that study's human behaviour as a relationship between ends and scares means which have alternative uses
What are the typical patterns of GDP for a high-income economy like the United States in the long run and the short run?
mwangala Reply
What are the limitation and significant of macroeconomic
Usman Reply
While the American heart association suggests that meditation might be used in conjunction with more traditional treatments as a way to manage hypertension
Beverly Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!

Source:  OpenStax, Elec 301 projects fall 2007. OpenStax CNX. Dec 22, 2007 Download for free at http://cnx.org/content/col10503/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Elec 301 projects fall 2007' conversation and receive update notifications?