Title of Invention

A METHOD TO REDUCE INTERRUPT COMPLEXITY AND TO SPEED UP THE PILOT SEARCHES

Abstract The invention explains a method to reduce interrupt complexity and to speed up the pilot searches during set maintenance procedure comprising grouping the pilots to form the pilot group, configuring all the pilots of pilot group in HW, HW performing the search for all the configured pilots, HW raising interrupt and SW reading the results of all configured pilots and processes them. The present invention relates to the Wireless communication, CDMA, Group search, path searcher, multi path detector, pilot-set maintenance etc. Particularly this invention relates to a group search based pilot-set maintenance procedure
Full Text

FIELD OF THE INVENTION
The present invention relates to the Wireless communication, CDMA, Group search, path searcher, multi path detector, pilot-set maintenance etc. More particularly this invention relates to a group search based pilot-set maintenance procedure.
DESCRIPTION OF RELATED ART
In a cellular communication system, the transmitted signals from Base Transceiver Station (BTS) pass through wireless channel consisting of several distinct propagation paths (known as multipaths) and reach the access terminal (AT). In wireless channels, these multipaths are caused by reflection of the transmitted signal from buildings, trees, cars etc., In a CDMA cellular system, the received signal can be separated into various multipaths and signals from each multi-path is demodulated and combined in a rake receiver to achieve multipath diversity gain.
The BTS transmits a pilot signal (continuously/time multiplexed) along with other signals. The AT can use (with its path searcher) this pilot information to detect multipaths and configures the rake receiver fingers.
The pilot information is also used for 1) initial system acquisition and 2) pilot strength measurements of current sector and neighbor sectors.
The access terminal continuously monitors the radio link between the access terminal and access network by measuring the strength of the pilots transmitted by the current and neighbor sectors. Access terminal maintains the following pilot sets to monitor the radio link between the access network and access terminal.

Active Set: The set of pilots (specified by the pilot's PN offset and the pilot's CDMA Channel) associated with the sectors currently serving the access terminal.
Candidate Set: The pilots (specified by the pilot's PN offset and the pilot's CDMA Channel) that are not in the Active Set, but are received by the access terminal with sufficient strength to indicate that the sectors transmitting them are good candidates for inclusion in the Active Set.
Neighbor Set: The set of pilots (specified by the pilot's PN offset and the pilot's CDMA Channel) that are not in either one of the two previous sets, but are likely candidates for inclusion in the Active Set.
Remaining Set: The set of all possible pilots (specified by the pilot's PN offset and the pilot's CDMA Channel) on the current channel assignment, excluding the pilots that are in any of the three previous sets.
The access terminal monitors and maintains these sets by a process known as Pilot-set maintenance.
The Figure 1 shows the search procedure for each pilot.
1. For each pilot search to be performed, the pilot information is configured.
2. The pilot search is performed and the interrupt "SEARCH_COMPLETEJNTR". is raised.
3. After receiving the interrupt, search results are read. After reading search results, the results are processed.
This process is repeated for each pilot as part of pilot-set maintenance. The detailed pilot-set maintenance based on this approach is given figure 2.
Figure 2 shows Pilot-set maintenance procedure in the related art. Here a pilot from active set, candidate set, neinhbor set is confiaured in to the searcher.

Figure 2 shows asetjndex, cset_index, nsetjndex are set to 0. This process continues till all the pilots in the each set are completed. For this, a check is made if asetjndex is less than aset_cnt. If it is so, aset pilot search is performed and asetjndex is incremented. Hardware (HW) raises interrupt for each pilot configured. When an interrupt is raised, SW has to read the data from HW registers and processes them. For that, SW has to wait for the HW interrupt. Searcher control software reads the search results, processes them and configures the next pilot search. In the initial check, if it is found that asetjndex is not less than aset_cnt, the same cycle is repeated for the candidate set. A check is made if csetjndex is less than cset__cnt. If it is so, cset pilot search is performed and csetjndex is incremented. Hardware (HW) raises interrupt for each pilot configured. As told, when an interrupt is raised, SW has to read the data from HW registers and processes them. For that, SW has to wait for the HW interrupt. Searcher control software reads the search results, processes them and configures the next pilot search. A check is made if nsetjndex is less than nset_cnt. If it is so, nset pilot search is performed and nsetjndex is incremented. Hardware (HW) raises interrupt for each pilot configured. SW has to read the data from HW registers and processes them. For that it has to wait for the HW interrupt. Searcher control software reads the search results, processes them and configures the next pilot search.
In the existing procedure, the pilot searches for set maintenance are performed as given in the figure 1. Here, first a pilot from active set is configured in to the searcher. Once the searcher completes searching, the results are processed and next pilot from active set is programmed in to searcher. This process continues till all the pilots in the active set are completed. Then pilots in the candidate set are searched in a similar way. After completing all the pilots in candidate set, one pilot from neighbor set is searched. After completing one neighbor set pilot, the process of searching all active set pilots, all candidate set pilots and one neighbor pilot is repeated till the mobile is monitoring the BTS.
When the searcher completes searching the programmed pilot it raises an interrupt "SEARCH_COMPLETEJNTR". In response to this, the searcher

control software reads the search results, processes them and configures the next pilot search as described above.
In the existing approach, Hardware (HW) raises interrupt for each pilot configured. When an interrupt is raised, SW has to read the data from HW registers and processes them. Also whenever interrupt is raised, SW has to do context switching. All these requirements put a considerable load on processor.
For example, consider a typical case as given below;
No of pilots in active set = 4
No of pilots in candidate set = 10
No of pilots in neighbor set = 20
No of active set searches per second = 40
Minimum number of pilots searched in related art = 40 * (4 + 10 + 1) = 600
In this typical example, SEARCH_COMPLETEJNTR comes 600 times per
second.
SUMMARY OF THE INVENTION
The present invention solves the interrupt complexity for searcher control software.
In the present invention, the pilot searches are performed in a group and the results from these group searches are processed together. This invention explains a method to reduce interrupt complexity and to speed up the pilot searches during set maintenance procedure comprising the steps of:
. grouping the pilots to form the pilot group;
i. configuring all the pilots of pilot group ;
if
i. performing the search for all the configured pilots ; iv. raising interrupt; and
v. reading the results of all configured pilots and processing them .

These and other objects, features and advantages of the present invention will become more readily apparent from the detailed description taken in conjunction with the drawings and the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1: depicts a pilot search procedure in the related art
Figure 2: depicts a pilot-set maintenance procedure in the related art
Figure 3: depicts a pilot search procedure based on group search
Figure 4: depicts a pilot-set maintenance procedure based on group search
DETAILED DESCRIPTION OF THE INVENTION
The preferred embodiments of the present invention will now be explained with reference to the accompanying drawings. The following description and drawings are illustrative of the invention and are not to be construed as limiting the innovation. Numerous specific details are described to provide a through understanding of the present invention. However in certain instances well-known or conventional details are not described in order not to unnecessarily obscure the present invention in detail.
Referring to Figure 3, it shows the following Pilot search procedure based on group search:
1. From the list of pilots to be searched, SW prepares group search list
2. SW configures the number of pilots to be searched in the group search and the pilot information for all pilots that are in the group search list to the HW.

3. HW performs the pilot search for all configured pilots and raises the interrupt "SEARCH _COMPLETEJNTR" at the end.
4. After receiving the interrupt, software reads search results from the HW for all pilots in the group search list.
5. After reading search results, SW processes them.
As shown in figure 3, SW prepares group search list. Then SW configures the number of pilots in group search list and information of all the pilots which are in group search list in to the HW. HW performs the pilot search for all configured pilots of the group search list and raises the interrupt "SEARCH_COMPLETE_INTR" at the end. After receiving the interrupt, software reads search results from the HW for all pilots in the group search list and processes them. This process is repeated many times as part of pilot-set maintenance. The detailed pilot-set maintenance based on this approach is given in figure 4.
Figure 4 explains a Pilot-set maintenance procedure based on group search. At the start of the set maintenance, the pilots from active set are added to group search list one by one. This process of adding pilots to group search list continues until either all the pilots in set are added to group search list or the group search size is reached. Figure 3 shows asetjndex, csetjndex, nsetjndex are set to 0. Then a check is made if asetjndex is less than aset_cnt. If it is so, pilot from active set is added to group search list. Then asetjndex and gs_cnt are incremented. To confirm whether the group search size is reached a check is made if gs_cnt is less than gs_size. If gs_cnt is not less than gs_size, a pilot search for all pilots in GS list is performed. After searcher HW completes searching and raises interrupt, the results are read and processed by SW and gs_cnt is set to 0. If there is still space in group search list then the pilots from the candidate set are added to the group search list. For this, a check is made if csetjndex is less than cset_cnt. If it is so, pilot from cset is added to group search list. Then csetjndex and gs_cnt are incremented. To confirm whether the group search size is reached a check is made if gs_cnt is less than gs_size. If gs_cnt is not less than gs_size, a pilot search for all pilots in GS list is

performed. After searcher HW completes searching and raises interrupt, the results are read and processed by SW and gs_cnt is set to 0. If there is still space, then the pilots from neighbor set are added to the group search list. For this a check is made if nsetjndex is less than nset_cnt. If it is so, pilot from nset is added to group search list. Then nsetjndex and gs_cnt are incremented. To confirm whether the group search size is reached a check is made if gs_cnt is less than gs_size. if gs_cnt is not less than gs_size a pilot search for all pilots in GS list is performed. After searcher HW completes searching and raises interrupt, the results are read and processed by SW and gs_cnt is set to 0.
In this procedure, the pilot searches for pilot-set maintenance are performed as given in figure 3. At the start of the set maintenance, the pilots from active set are added to group search list one by one. This process of adding pilots to group search list continues until either all the pilots in active set are added to group search list or the group search size is reached. Then the pilots in this list are configured for searching. After searcher HW completes searching and raises "SEARCH_C0MPLETEJNTR", the results are read and processed by SW. If there are any pilots left in the active set they are added to the group search list. If there is still space in group search list then the pilots from the candidate set are added to the group search list till either all the pilots in the candidate set are added or the group search size is reached. Then these pilots in the group search list are configured for searching. After searcher HW completes searching and raises "SEARCH__COMPLETEJNTR", the search results are read and processed by SW. If there are any pilots left in the candidate set they are added to the next group search list. If there is still space then the pilots from neighbor set are added to the group search list.
Note 1: In the procedures, as an alternative, the searcher control software can read the search results, configure the next group search and then can process the previous search results. The operation still remains same.
Note 2: Here we have not considered the remaining set pilots. But this is not critical to illustrate the idea.

Note 3: When multiple sets are added in the same group search, active set searches should be performed at the end to maintain better accuracy for finger management algorithms
This method needs to process interrupt much less number of times compared to the existing methods, thereby reducing processing complexity. The previous example is reproduced below:
No of pilots in active set = 4 No of pilots in candidate set = 10 No of pilots in neighbor set = 20
Group search size = 4
No of active set searches per second = 40
Minimum number of pilots searched in related art = 40 * (4 + 10 + 1) = 600
Minimum number of group searches performed based on this invention = 40 * (1
+ 3) = 160
In this typical example, SEARCH_COMPLETE_INTR comes 600 times per second in the related art and 160 times based on the present invention.
Advantages:
1. This method needs to process interrupt much less number of times compared to the existing methods, there by reducing processing complexity.
2. Set maintenance algorithms can be implemented in a simpler way.
In the description herein, numerous specific details are provided, such as examples of components and/or methods, to provide a thorough understanding of embodiments of the present invention. One skilled in the relevant art will recognize, however, that an embodiment of the invention can be practiced without one or more of the specific details. In other instances, well-known

operations are not specifically shown or described in detail to avoid obscuring aspects of embodiments of the present invention.
It will also be appreciated that one or more of the elements depicted in the drawings/figures can also be implemented in a more separated or integrated manner, or even removed or rendered as inoperable in certain cases, as is useful in accordance with a particular application.
The foregoing description of illustrated embodiments of the present invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed herein. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes only, various equivalent modifications are possible within the spirit and scope of the present invention, as those skilled in the relevant art will recognize and appreciate. As indicated, these modifications may be made to the present invention in light of the foregoing description of illustrated embodiments of the present invention and are to be included within the spirit and scope of the present invention.
Thus, while the present invention has been described herein with reference to particular embodiments thereof, a latitude of modification, various changes and substitutions are intended in the foregoing disclosures, and it will be appreciated that in some instances some features of embodiments of the invention will be employed without a corresponding use of other features without departing from the scope and spirit of the invention as set forth. Therefore, many modifications may be made to adapt a particular situation to the essential scope and spirit of the present invention. It is intended that the invention not be limited to the particular terms used in following claims, but that the invention will include any and all embodiments and equivalents falling within the scope of the appended claims.


GLOSSARY OF TERMS AND THEIR DEFINITIONS
Access Network: The network equipment providing data connectivity between a packet switched data network (typically the Internet) and the access terminals.
Access Terminal: A device providing data connectivity to a user. An access terminal may be connected to a computing device such as a laptop personal computer or it may be a self-contained data device such as a personal digital assistant. An access terminal is equivalent to a mobile station.
Channel: The set of channels transmitted between the access network and the access terminals within a given frequency assignment. A Channel consists of a Forward Link and a Reverse Link.




CLAIM
1. A method to reduce interrupt complexity and to speed up the pilot searches during set maintenance procedure comprising the steps of:
a. grouping the pilots to form the pilot group;
b. configuring all the pilots of pilot group ;
c. performing the search for all the configured pilots ;
d. raising interrupt; and
e. reading the results of all configured pilots and processing them .
2. A method as claimed in claim 1 wherein pilot group is formed by grouping the pilots.
3. A method as claimed in claim 1 wherein the pilot search is performed for all configured pilots of the group search list and an interrupt is raised.
4. A method as claimed in claim 1 wherein the results of all configured pilots are read and processed and the said process is repeated as part of pilot-set maintenance.
5. A method as claimed in claim 4 wherein the said method of pilot-set maintenance comprise adding pilots to group search list.
6. A method as claimed in claim 5 wherein the process of adding pilots to group search list continues until either all the pilots in set are added to group search list or the group search size is reached.
7. A method as claimed in claim 6 wherein the process of adding pilots to group search list includes checking whether the pilot index is less than the pilot count and adding the pilot set to group search list if it is less.
8. A method as claimed in claim 6 wherein the process of adding pilots to group search list includes incrementing pilot index and group search list

counter.
9. A method as claimed in claim 6 wherein the process of adding pilots to
group search list includes checking whether group search list counter is
less than group search list size to confirm if group search size is reached.
10. A method as claimed in claim 6 wherein if group search list counter is not
less than group search list size a pilot search for all pilots in group search
list is performed.
11.A method as claimed in claim 6 wherein after searcher completes searching and raises interrupt, the results are read and processed and group search list counter is set to 0.
12. A method of claim 1 wherein AT does not raise interrupt after every pilot
search is over.
13. A method of claim 1 wherein AT has the capability to perform more than
one pilot search before an interrupt is raised.
14. A method to reduce interrupt complexity and to speed up the pilot
searches during set maintenance procedure substantially described
particularly with reference to the accompanying drawings.
Dated this 31st day of December 2004


Documents:

1485-che-2004 abstract duplicate.pdf

1485-che-2004 claims duplicate.pdf

1485-che-2004 description (complete) duplicate.pdf

1485-che-2004 drawings duplicate.pdf

1485-che-2004-abstract.pdf

1485-che-2004-claims.pdf

1485-che-2004-correspondnece-others.pdf

1485-che-2004-correspondnece-po.pdf

1485-che-2004-description(complete).pdf

1485-che-2004-drawings.pdf

1485-che-2004-form 1.pdf

1485-che-2004-form 13.pdf

1485-che-2004-form 26.pdf


Patent Number 218519
Indian Patent Application Number 1485/CHE/2004
PG Journal Number 21/2008
Publication Date 23-May-2008
Grant Date 02-Apr-2008
Date of Filing 31-Dec-2004
Name of Patentee SAMSUNG INDIA SOFTWARE OPERATIONS PRIVATE LIMITED
Applicant Address BAGMANE LAKEVIEW, BLOCK B, NO. 66/1, BAGMANE TECH PARK, C V RAMAN NAGAR, BYRASANDRA, BANGALORE 560 093,
Inventors:
# Inventor's Name Inventor's Address
1 GODAVARTI SATYA VENKATA UMA KISHORE BAGMANE LAKEVIEW, BLOCK B, NO. 66/1, BAGMANE TECH PARK, C V RAMAN NAGAR, BYRASANDRA, BANGALORE 560 093,
2 VADLAPUDI TVS PRASAD BAGMANE LAKEVIEW, BLOCK B, NO. 66/1, BAGMANE TECH PARK, C V RAMAN NAGAR, BYRASANDRA, BANGALORE 560 093,
PCT International Classification Number H04B 1/707
PCT International Application Number N/A
PCT International Filing date
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 NA