• Nem Talált Eredményt

Synchronized network of Spin oscillators

7.4 Applications of spin torque oscillators

In this section I will show two simple examples, how a two dimensional cellular array of spin torque oscillators based on the dynamics described in equation (7.33) and (7.34) can be used for edge and change detection.

I can easily define a mapping between the pixel intensities of the image and the input currents of the oscillators. This way the input current of every oscillator will be propor-tional to the intensity of a pixel on a two dimensional grayscale image. Using (7.33) and (7.34) I can calculate the coupling weights in the array in a way, that after the synchro-nization of the array (when all oscillators are synchronized), the phase shifts between the oscillators will depend only on the input current differences between neighboring oscilla-tors.

Although the differential equations in Chapter 6 and 7 do not contain noise and their investigation was done without considering a stochastic part, the simulations in this chap-ter were examined with noise in the differential equation and also when the paramechap-ters of the oscillators were altered by a stochastic noise. This results were qualitatively the same with or without the noise, however the quantitative investigation of the noise is out of the scope of this dissertation and requires further simulations.

However there are many open questions about the feasibility and applicability of spin devices the development of spin-torque nano devices is constantly in progress. Although the largest network implemented contains only 5 coupled spin-torque oscillators and it is not feasible to implement devices with 16×16 oscillators, and create architectures useful in solving practical problems, the coupling models and the macro-models of the oscillators will remain the same even for larger networks. These smaller networks and preliminary results can confirm the applicability of spin-torque dynamics in computation and with simulations I can check how larger networks (even with 64×64 or more oscillators ) would operate. This investigation can give a boost to the design of spin devices and hopefully the physical and engineering problems of implementing large networks of oscillators will be overcame in the following years.

7.4.1 Application example: edge detection

Using this coupling I can detect the color differences between neighboring oscillators.

With the tuning of the coupling weights I can also adjust the level how the phase shift will depend on the intensity differences and also on the spatial density of intensity differences.

This means I can detect intensity changes on images considering not only the differences in values but spatial changes as well. This gives possibility to perform edge detection on grayscale images and considering the spatial changes I can implement horizontal or vertical edge detection as well. A simple example of this task can be seen on Fig. 7.10

The computation can be done with the usage of STOs exclusively: without using any CMOS logic or non nano-devices.

91

(a) Input (b) Intermediate result

(c) Thresholded output

(d) Horizontal edge detection

Figure 7.10: We can see the input image on the upper left figure. On figure (b) we can see an intermediate result, the synchronization of the oscillators. I have selected the first (most upper left oscillator as a reference) the pseudo colors are reflecting the phase shifts between the oscillators, the blue oscillators are synchronized in phase with the first oscillator. The red oscillators have a phase-shift around 12 degrees. On figure (c) we can see a thresholded version of figure (b). On the last image we can see a different spatial coupling, which detects the horizontal edges only.

7.4.2 Application example: spatial change detection

In case of object detection 3 and in general tasks of image processing, one extremely important question is the handling of noise. In case of object detection/classification not only the the intensity of the noise will determine the output, but also the topography of the noise: a group of low level noises in close proximity could be an object, because one can presume that the appearance of the noise at different pixels is independent from each other. Because of this phenomena we will have to process not only the intensity differences but also the topology of different intensities at the same times. Based on equation (7.33) and (7.34) I have designed a simple array, which is taking account both values with one computation: the output is determined not only by the difference level, but also how far the dissonant pixels are. The sensitivity of the network can be tuned by the coupling weights.

By decreasing the weights the amount of intensity difference will be more determining, and by increasing the weights the effect of the pixels in proximity will be more determining, and the computation will consider the topology of the objects. Different outputs of this array can be seen on Figure 7.11 with different coupling weights.

As it can be seen this way the network sensitivity to the noise can be set. And it can be set according to the change level and according to the distance. Based on this example a cellular array of spin oscillators could be used for noise reduction, filtering, change detection or edge detection in image processing tasks. The implementation of change detection for grayscale images is straightforward when the input current is proportional to the color intensity.

Based on this example and the equations, a cellular array of spin oscillators could be

3even in case of binary object

92

(a) Input (b) Output 1 (c) Output 2 (d) Output 3

Figure 7.11: We can see the input image on the upper left figure, and on the other figures the outputs with different coupling weights are shown. The weights were 0.01, 0.003 and 0.0004. As it can be seen with weights 0.01 the differences were calculated based on individual pixels, and objects with are of one pixel are considered as noise. With weights 0.003 the to objects in the bottom are considered as one object, white pixels with area of 1 are considered as noise. With weights 0.0004 all the three objects on the left are considered as one object.

used for noise reduction, filtering, change detection or edge detection in image processing tasks. The implementation of change detection for grayscale images is straightforward when the input current is proportional to the color intensity. Oscillatory behavior could be used also in associative memories as it was shown for general oscillators in [76], [9].

93

Chapter 8

Summary