Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

how do i add a noise source in a circuit

Status
Not open for further replies.

niloy2k

Junior Member level 1
Joined
Feb 17, 2009
Messages
18
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,442
noise source

helo ... i am working on a project which is the design of a lock in amplifier (phase sensitive detection system) .... my major aim of da project is to extract and amplify very weak signals buried in high levels of noise

my problem is .... how do i add a noise source in a circuit ... and how do i add the signal to the noise source ?

i will really appreciate the the help... thanks :)
 

noise source

you could use sinewaves with random frequency and phase or you could generate a noise file in matlab and use the vpwlf source in your schematics or write a verilog-a block that generates the noise.
 

Re: noise source

i am not familiar with matlab and as such i dont have much idea of how to create a noise file there .... not much sure about verilog either .... is there any electrical component which mighte solve the case ? or any other alternatives ? thanks
 

Re: noise source

This should work for spectre. Create a "functional" cellview called vnoise and copy and paste the following code. Create a new symbol and include it in your schematic.

`include "disciplines.vams"

module vnoise(out);
output out; electrical out;
parameter real period=1.0e-9;
parameter real vn=1.0;

integer x;

analog begin
@(timer(0.0,period))
x=$random*vn;

V(out)<+transition(x,0.0,period);
end
endmodule
 

noise source

Sorry, I made a little mistake, this is a better code:

`include "disciplines.vams"

module vnoise(out);
output out; electrical out;

parameter real period=1.0e-9;
parameter real vn=1.0;

real x;

analog begin
@(timer(0.0,period))
x=$random*vn/2147483647.0;

V(out)<+transition(x,0.0,period);
end
endmodule

you can also use

module vnoise(out);
output out; electrical out;

parameter real period=1.0e-9; //[1ns]
parameter integer seed=123;
parameter real mean=0.0;
parameter real std=1e-3; //[1mV]

real x;
integer y;

analog begin
@(initial_step)
y=seed;

@(timer(0.0,period))
x=$rdist_normal(y,mean,std);

V(out)<+transition(x,0.0,period);
end
endmodule
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top