Professional Documents
Culture Documents
Dept. of ECE
VVIT
Dept. of ECE
VVIT
2. SYSTEM OVERVIEW
Fig. 1 shows an overview conceptual diagram for the proposed audio ownership
verification system. As illustrated, the watermark (image or a logo) that refers to the owner is
embedded into the audio file in a way that it should not affect quality of the original audio. This is
achieved by considering an enhanced framing and DWT matrix formation. The ownership of the
audio under verification can then be verified by comparing the provided watermark image with that
embedded in the audio signal. The proposed watermark embedding/extraction processes can be
outlined briefly as follows.
Dept. of ECE
VVIT
expose the underlying structure of the matrix. Mathematically, for example, the SVD of an nn
matrix A is defined by the operation [10], [11]:
A = U S VT ----------------------------(1)
In matrix form, Eqn. (1) can be presented as [9]:
----------------------------------(2)
The watermark of a digital-image is then encrypted using SHA-1 hash algorithm [10] and embedded
into the DWTSVD- transformed audio signal according to the following formula [9]:
-----------------------------------(3)
where W(n) is the hash bit (0 or 1) of the watermark image, _ is the watermark intensity, S1,1 is the
top left value in the S-matrix, and S1,1w is the watermarked S1,1. For example, if _ is set to 0.1, as a
selected watermark intensity value, then S1,1 w will equal (1.1 S1,1) when W(n) is 1, and to (S1,1)
when W(n) is 0. Now, to produce the desired watermarked audio, the inverse of SVD and DWT is
performed. The implemented stages of watermark embedding are shown in Fig. 2 [10]. In the present
work, the framing, matrix formations and embedding stages represent the core enhancement
suggested in this work,
B. Watermark Extraction Process
The extraction procedure of the encrypted watermark image from the watermarked audio signal can
be achieved by following a process similar to that of the watermark embedding described above. The
implemented stages of watermark extraction are shown in Fig. 3.
Dept. of ECE
VVIT
Dept. of ECE
VVIT
VVIT
improvement is achieved irrespective of the watermark size. Table 1 shows different watermark size
examples and the required minimum audio-cover period for both the old and suggested methods.
Dept. of ECE
VVIT
VVIT
embedded watermark bits. However, increasing _ will cause SNR to be decreased, as shown in Fig.
8. Based on this, selection of optimum value of _ will be a compromise between quality and
robustness. Fig. 9 shows how robustness increases with increased values of _.
Dept. of ECE
VVIT
Dept. of ECE
10
VVIT
Dept. of ECE
11
VVIT
5. CONCLUSIONS
This paper presented novel extensions to a previously reported digital audio watermarking
algorithm based on DWT and SVD techniques. The suggested extensions expanded the possibility of
inserting more frames in the original audio signal and improved quality of the watermarked audio by
changing the value of watermark intensity. Performance of the proposed enhancements was tested
under different watermark sizes and audio periods. The obtained test results showed improved
performance over the original algorithms in terms of audio signal quality (25% higher SNR), 69%
reduction in the required minimum audio-cover period, and improved robustness against various
watermark benchmark attacks.
Dept. of ECE
12
VVIT
REFERENCES
1. Y. Liu, H. S Yun, J. S Sung, N. S. Kim, "A novel audio fingerprinting scheme based on sub
band envelop hashing", Proc. Asia-Pacific Signal and Information Processing Association,
pp.813-816, Oct. 2009.
2. A. Bouridane ,L. Ghouti ,M. Ibrahim and S. Boussakta Digital Image Watermarking Using
Balanced Multiwavelets, IEEE Transactions on Signal Processing, Vol. 54, No. 4, pp. 15191536, April 2006.
3. S. Ramakrishnan, T. Gopalakrishnan, K. Balasamy, SVD Based Robust Digital
Watermarking For Still Images Using Wavelet Transform, CCSEA 2011, CS & IT 02, pp.
155167, 2011.
4. N. Lalitha, G. Suresh, V. Sailaja, Improved Audio Watermarking Using DWT-SVD,
International Journal of Scientific & Engineering Research, Vol. 2, Issue 6, June, 2011,ISSN
2229- 5518.
5. W-N Lie and L-C. Chang, Robust and High-Quality Time- Domain Audio Watermarking
Based on Low-Frequency Amplitude Modification, IEEE Transactions on Multimedia, Vol.
8, No.1, February 2006.
6. H. zer, B. Sankur, and N. Memon, An SVD Based Audio Watermarking Technique, ACM
Workshop on Multimedia and Security, New York, August 1-2, 2005.
7. A. Al-Haj and A. Mohammad, Digital Audio Watermarking Based on the Discrete Wavelets
Transform and Singular Value Decomposition, European Journal of Scientific Research,
ISSN 1450-216X Vol.39 No.1, pp.6-21, 2010.
8. H. Andrews and C. Patterson, "Singular Value Decomposition (SVD) Image Coding", IEEE
9.
Source code
function varargout = gui_audioWatermark(varargin)
%GUI_AUDIOWATERMARK M-file for gui_audioWatermark.fig
Dept. of ECE
13
VVIT
Dept. of ECE
14
VVIT
% --- Outputs from this function are returned to the command line.
function varargout = gui_audioWatermark_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject
handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
Dept. of ECE
15
VVIT
Dept. of ECE
16
VVIT
Dept. of ECE
17
VVIT
set(handles.InsertWatermark,'string','Insert Watermark')
set(handles.LoadInput,'string','Load Input Audio')
set(handles.PlayAudio,'string','Play Input Audio')
set(handles.OutputAxis,'visible','on')
set(handles.LoadLogo,'visible','on')
set(handles.PlayOutput,'visible','on')
set(handles.LogoAxis,'visible','on','xtick',[],'ytick',[])
set(handles.InsertWatermark,'Enable','inactive')
set(handles.hashIn,'string','')
end
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as
cell array
%
contents{get(hObject,'Value')} returns selected item from popupmenu1
Dept. of ECE
18
VVIT
fn = sprintf('%s_e.wav',handles.fn);
wavwrite(signal,handles.Fs,32,fn);
fn = sprintf('%s_k.mat',handles.fn(1:4));
save(fn,'key')
handles.OutputAudio = signal;
handles.AudioInput = signal;
plot(signal,'parent',handles.OutputAxis)
set(handles.OutputAxis,'XLim',[0,size(signal,1)])
set(handles.OutputAxis,'xtick',[],'ytick',[])
set(handles.PlayOutput,'Enable','on')
handles.alpha = alpha;
handles.vm_idx = vm_idx;
guidata(hObject,handles)
else
signal = handles.AudioInput(:,1);
if isempty(handles.key)
fn = sprintf('%s_k.mat',handles.fn(1:4));
if exist(fn,'file')
load(fn)
Dept. of ECE
19
VVIT
else
key = handles.key;
end
alpha = handles.alpha;
len_s = numel(key)*group_members*len_Frame_t;
vm_idx = 31:30:len_s;
W = Audio_DataExtracting(signal,key,alpha,len_Frame_t,vm_idx);
bitsPerChar = 7;
len_data_rx = numel(W);
bits_rx = reshape(W,[len_data_rx/bitsPerChar,bitsPerChar]);
ascii_rx = char(bits_rx+48);
char_rx = bin2dec(ascii_rx);
data_rx = char(char_rx)';
if ~exist('HashDB.mat','file')
return
end
load('HashDB.mat')
Owner = '';
for i= 1:numel(HashDB)
if strcmpi(data_rx, HashDB(i).Hash)
Owner = HashDB(i).OwnerName;
end
end
set(handles.hashIn,'string',Owner,'enable','inactive')
guidata(hObject,handles)
end
% Update handles structure
guidata(hObject, handles);
function hashOut_Callback(hObject, eventdata, handles)
% hObject
handle to hashOut (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of hashOut as text
%
str2double(get(hObject,'String')) returns contents of hashOut as a
double
Dept. of ECE
20
VVIT
n = numel(HashDB);
if isempty(HashDB(n).Hash)
n = n-1;
end
n = n+1;
HashDB(n).OwnerName = OwnerName;
if isempty(HashDB(n).OwnerName)
return;
end
Hash = hash(Logo);
for i = 1:numel(HashDB)
if strcmpi(Hash,HashDB(i).Hash)
OwnerName0 = HashDB(i).OwnerName;
if ~strcmpi(OwnerName0,HashDB(n).OwnerName)
Dept. of ECE
21
VVIT
end
end
HashDB(n).Hash = Hash;
save HashDB HashDB
handles.LogoHash = Hash;
set(handles.pushbutton7,'enable','off','visible','off')
set(handles.LoadLogo,'enable','inactive')
set(handles.InsertWatermark,'enable','on')
guidata(hObject,handles)
hash.m
function
% HASH %
%
% USAGE:
%
% inp =
%
%
% h
=
h = hash(inp)
Convert an input variable into a message digest using any of
several common hash algorithms
h = hash(inp)
input variable, of any of the following classes:
char, uint8, logical, double, single, int8, uint8,
int16, uint16, int32, uint32, int64, uint64
hash digest output, in hexadecimal notation
inp=inp(:);
% convert strings and logicals into uint8 format
if ischar(inp) || islogical(inp)
inp=uint8(inp);
else % convert everything else into uint8 format without loss of data
inp=typecast(inp,'uint8');
end
% create hash
x=java.security.MessageDigest.getInstance('SHA-1');
x.update(inp);
h=typecast(x.digest,'uint8');
h=dec2hex(h)';
if(size(h,1))==1 % remote possibility: all hash bytes < 128, so pad:
h=[repmat('0',[1 size(h,2)]);h];
end
h=lower(h(:)');
h=h(1:4);
clear x
return
Audio_DataEmbedding.m
function [sig_w, key] = Audio_DataEmbedding(sig,w,alpha,len_Frame_t,vm_idx)
% AUDIO WATERMARKING
% Initialization of the output signal
Dept. of ECE
22
VVIT
% LEVEL 2 DWT
[A2, D2]= dwt(A1,wname);
% Length of the coefficient
len_d2 = length(D2);
% LEVEL 3 DWT
[A3, D3]= dwt(A2,wname);
% Length of the coefficient
len_d3 = length(D3);
% LEVEL 4 DWT
[A4, D4]= dwt(A3,wname);
% Length of the coefficient
len_d4 = length(D4);
len_a4 = length(A4);
%% MATRIX FORMATION
Matrix = [A4 D4 D3 D2; D1];
Dept. of ECE
23
VVIT
Dept. of ECE
24
VVIT
Audio_DataExtraction.m
function W = Audio_DataExtracting(sig_w,key,alpha,len_Frame_t,vm_idx)
% AUDIO WATERMARK EXTRACTING
% Length of the key
len_k = numel(key);
% Initialization of the output bitstream vector
W = zeros(1,len_k);
% Process
for n = 1:len_k
%% DWT
% [CA,CD] = DWT(X,'wname') computes the approximation
%
coefficients vector CA and detail coefficients vector CD,
%
obtained by a wavelet decomposition of the vector X.
%
'wname' is a string containing the wavelet name.
wname = 'db1';
start_idx = vm_idx(n)*len_Frame_t+1;
finish_idx = start_idx+len_Frame_t-1;
% LEVEL 2 DWT
[A2, D2]= dwt(A1,wname);
% Length of the coefficient
len_d2 = length(D2);
% LEVEL 3 DWT
[A3, D3]= dwt(A2,wname);
% Length of the coefficient
len_d3 = length(D3);
% LEVEL 4 DWT
[A4, D4]= dwt(A3,wname);
% Length of the coefficient
len_d4 = length(D4);
Dept. of ECE
25
VVIT
HashDB_Updater.m
close all;
clear all;
clc
[fn,pn] = uigetfile('*.jpg;*.png;*.bmp;*.tif','Select the logo file');
Logo = imread([pn,fn]);
if exist('HashDB.mat','file')
load('HashDB.mat')
else
HashDB = struct('OwnerName','','Hash','');
end
n = numel(HashDB);
if isempty(HashDB(n).Hash)
n = n-1;
end
n = n+1;
HashDB(n).OwnerName = input('Input the name of the Owner','s');
if isempty(HashDB(n).OwnerName)
return;
end
Hash = hash(Logo);
Dept. of ECE
26
VVIT
for i = 1:numel(HashDB)
if strcmpi(Hash,HashDB(i).Hash)
OwnerName0 = HashDB(i).OwnerName;
if ~strcmpi(OwnerName0,HashDB(n).OwnerName)
disp('Invalid Owner')
return;
end
end
end
HashDB(n).Hash = Hash;
save HashDB HashDB
HARDWARE CONFIGURATION
The printed circuit board (PCB) provides the electrical interconnections between various
components and as well as provides mechanical support to the components. The components are
soldered to the PCB. The quality of soldering directly affects the reliability of the circuit. The
procedure for fabricating the PCB for any general project is described below.
The printed circuit board consist the following steps.
1.
2.
3.
4.
5.
6.
LAYOUT PREPARATION
The layout is commonly prepared in the scale of 2:1. It offered a reasonable compromise
below accuracy gained and handling convenience 2:1 artwork as the actual PCB area. Grid systems
are commonly used for preparing the layout. The use of the grid sheet gives more convenience in
Dept. of ECE
27
VVIT
placement of components and conductors. The grid system based on 0.1 is found to be too coursing,
a grid equidistant of 0.025 or even 0.1 mm is recommended.
Procedure
1. Each and every PCB layout is viewed from component side.
2. The designing of the layout is started with an absolutely clear component list and circuit diagram
is available.
3. The larger component are placed first and the space in between is filled with area
4. In the designing of the PCB layout, It is very importance to divide the circuit in to functional sub
units. Each of these sub units are realized in the defined the portion of the board.
5. The components are placed in the grid sheet tanning the standard length and width.
6. The punched lay out is circled to taking the standard size of the land pads.
7. These pads are entering connected as the circuit diagram.
8. The mirror image of these gives the solder side of the PCB.
PATTERN TRANSFER
After the film is processed the film master are obtained. The transfer of the conductor
which on film master on to the copper clad base material is done by two methods mainly photo
printing and screen printing. Photo printing is extremely accurate process which is also applied to the
fabrication of semi-conductors. Screen printing is comparatively cheap and simple method for
transfer although less precise then photo printing. But this is less costly, this method is commonly
used.
SCREEN PRINTING
In screen printing, the process is very simply. A screen fabric with uniform meshes and
opening is stretched and fixed on a solid frame of metal or wood. The circuit pattern is
photographically transferred on to screen, leaving the meshes in the rest of area as closed. In the
actual printing step ink is forced by moving queue through the open master on to the surface of the
material to be printed. The light sensitive material is coated on to the screen and using film master
Dept. of ECE
28
VVIT
the pattern is transferred to the screen. The using ink and the pattern is transferred to the copper clad
sheet.
1.
2.
3.
4.
Ferric chloride
Cupric chloride
Chromic acid
Alkaline ammonia
Among these ferric chloride is cheap and popular etchant is ferric chloride and also suited for
home and industrial applications. The high corrosive powers of ferric chloride lead to shot etching
time and little under etching. Ferric chloride matches well photo and screen printed resists
DRILLING
Drilling of component mounting holes in to PCBs is by the most important mechanical
machining operation PCB production process. The importance of the whole drilling on PCB has
further group with electronic component miniaturization and its need for smaller whole diameters
and higher package density where whole purchasing is practically routed out. Four types of drilling
are commonly used
1. Drilling by direct sight.
2. Drilling by optical slight.
Dept. of ECE
29
VVIT
3. Jig drilling.
4. NC drilling.
COMPONENT MOUNTING
Components are basically mounted on one side of the board. On polarized two lead
components are mounted to give the marking or orientation throughout the board. The component
orientation can be both Horizontal as well as vertical but uniformly, directions are placed. The
Uniformity in orientation of polarizes components is determining during design of PCB.
Some recommended mounting techniques are given below
Horizontally mounted resister must touch the board resister to avoid lifting of solder along
with the copper pattern under pressure on the resister body Vertical mounted resister should not be
flash to board surface to avoid the Strain on the solder joint as well as the component need to
junction due to Different thermal expansion coefficient of lead board material also where necessary
spaces should be provided. Coated or sealed components have to be mounting such a way as to
provide a certain distance from the board. When jumper wires cross over the conductors, jumper
wire must be insulated. Transistors mounting should be never done flash to be board. This could give
considerable stress on the solder joints and to the lead connection beside the possible over heating
during the soldering operations.
SOLDERING
Soldering is an important process in assembling electronic products. Solder joints are
formed by nature of the welding process. Solder does not stick on the insulating surface. on most
metal wetting will take place and a joint will form if the work piece and solder are not enough and
the surface are clean and free from oxides . The surface to be soldered must be sufficiently not to
permit wetting by the solder. The component to be soldered should not be damaged by heating. The
metal surface to be wetted must have good wet ability. They must be clean so that metallic contact
can be established between older and metal. For good soldering select proper rating of soldering iron
and select proper tip. Pick up the [proper solder wire commonly 60:40 tin and led composition are
Dept. of ECE
30
VVIT
used. Make a good contact between the soldering tip and the part to be soldered. Apply small amount
of flux and make a contact between the soldering iron and joint till good spreading of soldering of
soldering has been realized.
TESTING AND ASSEMBLY
Assembly consists of soldering of components and wires on the PCB and mechanical of
wired PCB and other assemblies. Testing is carried out even at design phase itself in breadboard
level to verify the design, so that little circuit changes are required after designing the PCB.
TESTING
After soldering the components on to the PCB, the board is thoroughly cleaned for any
residual flux and wire leads. All the components are checked for their value and for the proper
orientation if applicable. Before ICs are inserted into the sockets, power applied to the board and
voltages are measured at the IC power point. Power is switched off before the ICs are inserted. Press
the required switch and check whether the corresponding code is available at various stages
(Receiver, display and the motor driver input.). If all these requirements are satisfied connect the
required appliance in the circuit.
ASSEMBLY
The tested PCB is mounted on the mechanical structure. The mechanical structure is
constructed using PVC foam sheet. The ultrasonic transmitter receiver module is mounted on the
side of the structure such that the sound waves transmitted can easily be received. The indicators are
also made easily visible.
31
VVIT
control the movement of door and are functional without requiring a key to lock or unlock the door.
These locking systems are controlled by a keypad and are installed at the side hedge of the door.
In this project, a keypad is attached to the door for opening and closing operations of the
door. After entering the 4bit code, if that code matches with the predefined one, then the door will
unlock for a limited period of time. After prolonging the unlocking for a fixed period of time, the
relay reenergizes and the door gets locked again. If anyone enters a wrong code in an attempt to open
the door and attempts thrice, then this system immediately switches an alarm or a buzzer.
BLOCK DIAGRAM
Power
Supply
LCD
Motor
Driver
8051 Micro
Controller
Keypad
Motor
Buzzer
The operation of this system can be described by the above block diagram, which consists of
blocks as keypad, a buzzer, an LCD, a Motor Driver and a motor. The Keypad is an input device that
helps to enter a code to open the door. This block gives the entered code signals to the
microcontroller. The buzzer and LCD are the final indicating devices for displaying the information
and alarming. The motor moves the door: opens and closes the door, and the motor driver drives this
motor by receiving control signals from the microcontroller.
The microcontroller used in this project is from 8051 family, and it is programmed with the
Keil software. When a person enters a password by using various keys in the keypad ranging from 0
to 9 including Enter and Escape keys, then the microcontroller immediately reads the data and
compares it with the stored data.
Dept. of ECE
32
VVIT
If this data matches, the microcontroller sends display information to the LCD display as
Code is authenticated. Furthermore, the microcontroller sends the command signals to the motordriver IC to rotate the motor in a particular direction such that the door opens. After sometime, the
spring system with a specified time delay closes its relay, and then the door starts closing and slowly
comes to its normal closed position.
If the person attempting to open the door enters a wrong password, then the microcontroller
switches the alarm for further course of action. In this way, a simple door-lock system can be
implemented with the use of a microcontroller.
CIRCUIT DIAGRAM
PCB LAYOUT
Dept. of ECE
33
VVIT
RESULT
The project Password Based Door Locking System was successfully designed and tested. It
was found to function as per the expectations.
SPY ROBOT
Dept. of ECE
34
VVIT
AIM
To develop a robot used to explore a remote location by mapping the path with the help of a
server and sensing the obstacles with IR sensor and transmits the collected data to the control station
using wireless means.
BLOCK DIAGRAM
This project develops a running robot used to explore a remote location by mapping the path
with the help of a server and sensing the obstacles with IR sensor and transmits the collected data to
the control station using wireless means. This project consists of a microcontroller section and
mechanical section. The microcontroller section stores a program that controls the movements of the
robot, and object/obstacle detection. The mechanical section consists of DC motors for the
movements of robot. The server helps in tracing the path of the robot. A robot is a mechanical
device, a manipulator designed to perform many different tasks and capable of repeated, variable
programming. To perform its assigned tasks, the robot moves parts, objects, tools, and special
devices by means of programmed motions and points. The science and technology that deals with
study of robots, their design, manufacture, and application is known as Robotics. Although the
appearance and capabilities of robots vary vastly, all robots share the features of a mechanical,
movable structure under some form of autonomous control. The control of a robot involves three
distinct phases - perception, processing and action.
The robot holds a mechanical structure that consisting servo motors for the movements of
robot, and an electronic circuitry which acts as the CPU/ head (Intelligence) of the robot. A
microcontroller acts as a Central Processing Unit, which stores an algorithm that controls the
movements of the robot; ambient parameter sensing and object/obstacle detection. The robot is fixed
with various sensors that monitor atmospheric temperature, light intensity, relative humidity and
pressure. The object is detected using IR Sensor module which comprise of an IR transmitter and
receiver section. If the distance to the object from robot is found less than the predefined value, the
Sensor produces control signals to the CPU that changes the motion algorithm that matches to the
situation and changes the path of the robot. The raw analog outputs from sensors after filtering and
signal processing are directed to the ADC (Analog to Digital Converter) module. The digital output
of the ADC further processing is given to the USART (Universal Synchronous Asynchronous
Receiver Transmitter) module for communication purpose. The results are automatically archived on
Dept. of ECE
35
VVIT
each time interval. A DC motor is like a light bulb; it has no electronics of its own and it requires a
large amount of drive current to be supplied to it. This is the function of the L293D chips on the
Handy Board, to act as large current switches for operating DC motors
The control station interfaced with a wireless communication module interprets the incoming
data from the microcontroller transmitted via ZIGBEE, and displays the needed data in
corresponding manner. We can develop application software using MATLAB to achieve Control
Station and Robot interfacing.
Transmitter Section
PC with MATLAB
Zigbee Module
Receiver Section
Power Supply
AVR
Motor Driver 1
Motor Driver 2
Zigbee Module
Motor 1
Motor 2
IR Sensor
Dept. of ECE
36
VVIT
CIRCUIT DIAGRAM
PCB LAYOUT
Dept. of ECE
37
VVIT
RESULT
The project Spy Robot was successfully designed and tested. It was found to function as per
the expectations.
Dept. of ECE
38
VVIT