| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
Optical Character Recognition Using Fuzzy Logic William Gowan
Top Searches for this datasheetOrder this document Optical Character Recognition Using Fuzzy Logic William Gowan OVERVIEW Freescale Semiconductor, Inc. This application note shows envision, describe, realize design using fuzzy logic. intended introduction fuzzy logic, basic enough understood designers with cursory understanding subject. those seek introduction fuzzy logic, Freescale Fuzzy Logic Educational excellent primer. Other sources information shown list references this document. Fuzzy logic facilitates design systems that mimic human reasoning. fuzzy system accepts data input from sensors, then makes decisions based that input. most cases, these decisions basis control system. However, fuzzy rule-driven system simply classification engine that draws distinctions between labels differing types input data. This note explains design optical character recognition engine called Optical Character Associator (OCA). Optical character recognition systems must classify optical inputs specific letters, numbers, other characters, thus ideal candidates fuzzy logic implementation. classification engine that recognizes fourteen characters used banking industry encode account numbers along lower edge checks. engine implemented using MC68HC11E9 8-bit microcontroller, although could have been implemented using devices from M68HC05, M68HC16, M68300 families. accepts input from pixel charge-coupled device (CCD) sensor. After input preprocessor program formats sensor data into easily "fuzzifiable" structure, inference engine fuzzifies data, applies fuzzy rule set, generates output that corresponds character being read. This application note presents design methodology, defines input variables, fuzzy rules output variables. Although preprocessor operation fully described, internal variables used preprocessor explicitly defined, designer must provide actual preprocessing code order implement system described. System resources directly related optical portion system, such motor transport document movement beneath optical sensor, must also provided. designed from simulated sensor data input. order implement physical system, simulated data should carefully compared actual character reads from sensor used. Modification fuzzy membership functions rules required. operation verified using simulated testing described TESTING RESULTS. Freescale does guarantee operation software described this document. PROBLEM DEFINITION industry definition character recognized appears Figure There fourteen valid characters numeric characters zero through nine, four special characters, through SS4. Freescale Semiconductor, Inc., 2004. rights reserved. MOTOROLA INC, 1996 More Information This Product, www.freescale.com Freescale Semiconductor, Inc. AN1220 CHAR Figure Character Recognized Each character right-justified wide frame. Other characters cannot intrude into frame. widest characters, SS1, SS2, SS3, SS4, have specified width mils. Characters specified mils wide. Characters specified mils. Characters specified mils. Because differing specified character widths, there variable amount white space left each character string characters. optical sensor chosen this design Texas Instruments TSL214. This device consists vertically-aligned elements. Each pixel 4.72 mils wide 2.756 mils high data "slice" 4.72 mils wide mils high. Since maximum character height mils, there pixel area approximately mils above below each character. Spacing between data slices determined relationship between width data slice width character, more specifically, width narrowest line segment character. width narrowest line segment character (for instance, thin vertical line that forms left side character mils. insure detection, minimum slices must taken width dimension segment. slices were taken, line segment could straddle data slices thus detected. Data slices need touch each other, between them must small. Dividing frame into vertical slices yields spacing between data slices 5.68 mils. This spacing insures that least samples taken wide character element. TSL214 specified integration time, measured which function light intensity. Satisfying integration time specification allows every device respond light level striking light intensities ranging from µw/cm2, integration time adequate. After integration time elapsed, data read optical sensor serially analog values. When sensor input enabled, sensor output voltage represents analog value from CCD#1. Upon next clock transition, output becomes analog value from CCD#2, until pixels have been read out. Since sensor data produced form analog value, converter channel used read value this high-contrast application, also possible sensor output read serial digital data, provided that saturated output greater than unsaturated output less than VIL. Backlighting document being scanned with bright provides high contrast. this point problem defined. Hardware must provide mechanism light document move under sensor 5.68 increments. microcontroller receives 64-bit stream values each slice. From this data, classification engine must correlate contiguous data slices against labels recognizable characters. Freescale Semiconductor, Inc. AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. FUZZY LOGIC DESIGN PROCESS three elements required realize fuzzy system fuzzification, rule application, defuzzification. Fuzzification scaling input data universe discourse (the range possible values assigned fuzzy sets). Rule application evaluation fuzzified input data against fuzzy rules written specifically system. Defuzzification generation specific output value based rule strengths that emerge from rule application. realized fuzzy system, microcontroller other engine runs linked section object code that consists segments. segment implements fuzzy logic algorithm, performing fuzzification, rule evaluation, defuzzification, thus thought generic fuzzy logic inference engine. other segment ties expected fuzzy logic inputs outputs, well application-specific fuzzy rules, fuzzy logic inference engine. sophisticated development environment required generate microcontroller object code from input form input variables, output variables, fuzzy rules. Freescale currently provides fuzzy logic development environments. Freescale Semiconductor, Inc. Knowledge Base Generator, KBG11B.EXE, freeware development environment that supports fuzzy inference engine called FUZZY11B.ASM. KBG11B.EXE runs under MS-DOS. provides graphical interface creation input output membership functions. Fuzzy Inference Development Environment (FIDE), Aptronix, also runs IBM-PC platform, Microsoft Windows environment. FIDE offers extensive graphical interface development debugging, well system-level simulation. developed with Aptronix FIDE tool. DATA PREPROCESSOR defined, problem presents certain obstacles that make pattern matching bit-by-bit basis impractical. instance, edge character segment show more data slices, depending where slices overlap. Further, slight variations printing cause character height width vary. Misfeeding document skew imaged character. Fuzzy logic, which inherently superior processing imprecise data, natural this application. However, data preprocessor necessary simplify problem that easily described fuzzy rules. Figure illustrates difficulties programmer encounters when trying match incoming patterns against idealized pattern, template. Each three sections Figure shows nineteen data slices typical reads character Leading white space shown because this representation left justified with respect first data slice that produces valid data. leftmost portion Figure represents pattern associated with ideal read character This portion figure considered template read character center portion Figure shows pattern misaligned character, right portion Figure shows pattern skewed character. this discussion, consider darkened pixel with logical value approach recognition would have program compare scanned characters templates bit-forbit basis. Clearly, this procedure could often fail. instance, program would expect slice character neither misaligned skewed characters would satisfy expectation. Another approach would have program bits each slice compare resulting slice totals corresponding slice totals from templates. shown Table this approach produce match misaligned case. Unfortunately, fails skewed case. AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. Freescale Semiconductor, Inc. IDEAL MISALIGNED SKEWED AN1220 SLICE Figure Data Slices Ideal, Misaligned, Skewed Character Table Slice Totals Three Readings Figure Slice Ideal Misaligned Skewed PREPROCESSOR OUTPUT: TRANSITION CONCEPT data Table provides useful insight. apparent three cases that magnitude slice total increases high value approximately decreases value approximately increases again high value approximately then finally decreases zero. Figure plot slice total three cases. Even though patterns slice totals different, plots slice totals have same shape. AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. Freescale Semiconductor, Inc. AN1220 SLICE COMP Figure Graphical Comparison Slice Totals from Figure difficult write program that locates quantifies these transitions, changes magnitude, slice totals. Quantified transitions will form input fuzzy engine. fuzzy rules will look something like this: very large positive transition, followed large negative transition, followed large positive transition, followed very large negative transition, indicates character zero. this note, transition defined difference between current local maximum minimum) previous local minimum maximum). data preprocessor takes data slice, obtains slice total, compares magnitude slice total previous slice totals determine whether constitutes local maximum minimum. Figure shows preprocessor algorithm that takes slice data generates transition outputs. Variables that updated during preprocessor operation listed Figure Preprocessor outputs take form transition number associated transition magnitude. instance, means transition number magnitude Notice that algorithm incorporates hysteresis determining direction change. other words, transition must three bits greater magnitude recognized. instance, current reading produces slice total previous reading left -and l_min current reading would fail test PR+2, would pass test Since none variables changed. preprocessor algorithm effect system throughput because during delay integration time. Table shows variables updated after each slice. slice data applied from skewed case shown Figure Prior entering routine Transition Calculation, variables initialized values shown column labeled Init. Data slice defined first slice with slice total greater than final transition number/magnitude calculation forced after 22nd slice. Figure provides graphical explanation preprocessor algorithm applied during calculation Table AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. TRANSITION CALCULATION LEGEND: CURRENT READING (SLICE TOTAL) PREVIOUS READING DIRECTION TRANSITION l_max LOCAL MAXIMUM l_min LOCAL MINIMUM TRANSITION INCREMENTED EACH CHANGE NEXT SLICE PR+2 Freescale Semiconductor, Inc. CHANGE CALCULATE l_min l_max REPLACE l_max WITH l_max REPLACE l_max WITH REPLACE l_max WITH NEXT SLICE CHANGE CALCULATE l_max l_min REPLACE l_min WITH l_max NEXT SLICE REPLACE l_min WITH REPLACE l_min WITH NEXT SLICE NEXT SLICE AN1220 FLOW Figure Preprocessor Transition Calculation AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. Table Translation Calculation Skewed Character Scan Slice l_min l_max magnitude init Freescale Semiconductor, Inc. LOCAL MAXIMUM LOCAL MAXIMUM LOCAL MINIMUM AN1220 TRANS Figure Visual Representation Table Transitions preprocessor found following four transitions while reading this character. comparison, preprocessor would return following values both ideal misaligned character AN1220/D More Information This Product, www.freescale.com FUZZIFYING TRANSITION INPUTS Freescale Semiconductor, Inc. transitions visualized Figure make very easy write fuzzy rule that recognizes character Very_Large_Positive Large_Negative Large_Positive Very_Large_Negative, then Char Clearly, similar visualization fourteen characters required write remaining rules. Table presents range transition magnitudes fourteen characters. This data obtained simulating each character eight times, with skews each direction. Notice that number transitions character varies from (characters (characters SS1, SS2, SS4). Table Transition Magnitude Ranges Fourteen Characters Character X1(lo,hi) X2(lo,hi) X3(lo,hi) X4(lo,hi) X5(lo,hi) X6(lo,hi) Freescale Semiconductor, Inc. first step fuzzifying this data establish universe discourse that defines range possible values fuzzy inputs. Once universe discourse defined, fuzzy sets created within this case, fuzzy inputs. From Table transition magnitudes, measured pixels, vary from +24. Since slightly oversized character stray marks document cause more pixels counted, universe discourse represented range values from pixels. Figure shows distribution transition values across universe discourse. labels denote each character transition number, followed graphical representation that transition's range, from Table There actually universes discourse: positive associated with negative associated with Since transitions pixels less ignored, positive universe discourse defined range values from pixels, negative universe discourse defined range values from pixels. AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. LEGEND: SS4:5 SS4:5 SS4:3 SS4:1 CHARACTER TRANSITION NUMBER SS4:6 SS4:4 SS3:4 SS4:2 SS2:4 SS2:2 SS3:2 SS2:6 SS1:6 SS1:4 SS1:5 SS1:3 SS1:1 SS1:2 SS3:1 SS3:3 SS2:3 SS2:5 SS2:1 Freescale Semiconductor, Inc. AN1220 TRANS DIST Figure Distributions Transitions Across Universe Discourse obvious from Figure that there some clumping transition data, especially negative side. Figure could used create fuzzy sets that apply transition inputs. However, fuzzy sets contribute more precise character recognition they made specific each transition number. Figure Figure Figure separate transition data transition number. Based natural grouping data, fuzzy sets assigned labeled. Notice from Figure that transitions group well thus contribute substantially character discrimination. Therefore, fuzzy sets assigned transition numbers these transitions appear part fuzzy rules. Another observation: negative transitions fall into clearly delineated sets, positive transitions not. fuzzy boundaries transitions therefore chosen more arbitrarily. Several positive transitions have degree membership more than fuzzy set. important understand that fuzzy input variable must generate least some association with fuzzy across entire range possible values that fuzzy input. example, range values produced character transition -19. Despite this small range, possible values returned reads character satisfy neither fuzzy sets (the value association with Med, value association with Max). Thus, fuzzy Large added properly classify character Likewise, fuzzy Large added character this point, transition inputs fuzzy sets defined. Unfortunately, transition inputs alone adequate classify characters. Consider characters Each only transitions, rule character Large then Character rule character Large then Character Thus, from transition data, indistinguishable. Table shows fuzzy magnitude each transition presented character. Conflicts column shows which other characters present same fuzzy magnitude. Several conflicts occur, necessary introduce input variables addition transition magnitude. AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. LARGE SS3:2 SS2:2 SMALL SS1:2 SMALL LARGE AN1220 FUZ1 SS4:2 SS1:1 SS4:1 SS3:1 SS2:1 Freescale Semiconductor, Inc. Figure (Left) (Right) Fuzzy Definitions LARGE SMALL SS4:4 SMALL LARGE SS3:4 SS2:4 SS1:4 SS1:3 SS4:3 SS3:3 SS2:3 AN1220 FUZ2 Figure (Left) (Right) Fuzzy Definitions SS2:6 SS4:6 SS1:6 SS4:5 SS1:5 SS2:5 AN1220 FUZ3 Figure (Left) (Right) Transition Distributions AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. Table Transition Magnitudes Presented Each Characte Character Large Small Small Small Small Large Small Large Small Small Small Small Small Small Large Large Small Small Small Large Large Small Small Conflicts Freescale Semiconductor, Inc. PREPROCESSOR OUTPUT: SUM-OF-PIXELS (SOP) Some conflicts shown Table resolved considering total dark area each character image. Total dark area measured pixels, SOP, easily summed during operation transition calculation preprocessor. Table shows range values each character. Figure shows universe discourse fuzzy sets SOP. Table Range Each Character Character: (lo) (hi) (avg) SMALL LARGE AN1220 Figure Fuzzy Distributions AN1220/D More Information This Product, www.freescale.com Figure shows conflicts shown Table resolved addition input variable. Consider conflict between characters long possible range values always produces higher degree membership fuzzy Large than fuzzy Max, recognized rather than character ranges from (Table Figure shows that value from produces degree membership fuzzy Large. Values from produce declining degrees membership. Since maximum value from character 167, character always produces some degree membership fuzzy Large none fuzzy Max. Therefore, never recognized Conversely, range values character always produces degree membership fuzzy degree membership fuzzy Large, that never recognized conflict completely resolved. Each character appears exclusively within fuzzy with overlap. conflict between resolved same way. Although there some overlap, conflict between also completely resolved. value SS4, which member fuzzy Small, will ever generate membership fuzzy associated with SS1. While very values cause degrees membership Small, there will higher degree membership correct selection will made. Freescale Semiconductor, Inc. Freescale Semiconductor, Inc. conflict between resolved similar way. values generate some membership Med, cause higher degree membership Large, correctly recognized. Likewise, high values generate some degree membership Large, cause greater degree membership Med. Thus, correct result returned. special fuzzy labeled helps resolve conflict between Here, range character assigned fuzzy Med, whereas assigned However, values generate some degree membership only high values fail generate membership Therefore, while most cases helps resolve conflict between additional input variable required. Notice that range values character adequately represented either Large. this case, best leave input variable fuzzy equation character PREPROCESSOR OUTPUTS: TERMINATION WIDTH (TERM) additional characteristic that resolve remaining conflict character width, measured data slices. Character width called TERM, designator terminating data slice. TERM easy determine during preprocessor phase simply data slice number last non-zero slice.Table shows range values TERM each character. Figure shows universe discourse fuzzy sets TERM. Figure also shows that conflict between been resolved. TERM values returned read character fall Small set, while values fall set. TERM required only resolve conflict between characters However, makes sense assign remaining characters fuzzy sets TERM universe discourse. minimal additional code required these rule additions produces better qualified results more robust classification system. Because interaction their TERM ranges with multiple fuzzy sets, TERM should used qualifier characters Figure shows, largest value TERM produces higher degree association with than with Large, which prevents from generating output Likewise, lowest value TERM produces higher degree association with Small than with Med, preventing resultant values TERM. Table TERM Range Each Character Character: TERM (lo) TERM (hi) AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. SMALL LARGE AN1220 TERM Figure TERM Fuzzy Definitions Freescale Semiconductor, Inc. CREATING FUZZY RULES Fuzzy rules create associations between specific inputs desired outputs. Here, input variables TERM. Fourteen valid output variables, each fourteen characters recognized, defined. Table shows relationship between fuzzy input variables fuzzy output variables. Table Fuzzy Associations Character Large Small Small Small Small Large Small Large Small Small Small Small Small Small Large Large Small Small Small Large Large Small Small Large Large Large Small Large Large Small TERM Small Small Large Large With relationship information summarized Table writing fuzzy rules becomes simple. fuzzy rules appear listing which follows. AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. FUZZY INFERENCE UNIT LISTING $fiu optical character associator $This application accepts optical data which been processed $into five input data classifications: (Transition (Transition (Transition (Transition (Sum Pixels) TERM (Data Slice Number corresponding TERMination Length) $Where applicable, this program classifies incoming data $fourteen possible characters, defined industry standard $specification printing account numbers bank checks. $Created August 1992 $Last modified: November 1992 $Filename: OCA.FIL Freescale Semiconductor, Inc. tvfi $Variable Definitions: defined $transitions; magnitude change between local minima maxima. invar "delta pixels" Small (@2,1, @11,1, @13,0), (@11,0, @13,1, @17,1, @19,0), Large (@16,0, @18,1, @19,1, @21,0), (@18,0, @20,1, @30,1)]; invar "delta pixels" :-30 Large (@-30,1, @-22,1, @-18,0), (@-21,0, @-19,1, @-13,1, @-11,0), Small (@-13,0, @-11,1, @-2,1)]; invar "delta pixels" Small (@2,1, @6,1, @8,0), (@6,0, @7,1, @11,1, @13,0), Large (@10,0, @11,1, @13,1, @15,0), (@13,0, @15,1, @30,1)]; invar "delta pixels" :-30 Large (@-30,1, @-20,1, @-17,0), (@-20,0, @-18,1, @-13,1, @-11,0), Small (@-13,0, @-10,1, @-2,1)]; invar "total pixels" Small (@60,1, @88,1, @104,0), (@90,0, @99,1, @113,1, @120,0), (@97,0, @109,1, @128,1, @134,0), Large (@126,0, @133,1, @160,1, @176,0), (@167,0, @178,1, @220,1)]; invar TERM "data slices" Small (@8,1, @11,1, @12.3,0), (@12.1,0, @13,1, @14,1, @15,0), Large (@14,0, @15,1, @16,1, @18,0), (@16,0, @17,1, @20,1)]; AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. outvar Char "Character" three four five seven eight nine zero =10, =11, =12, =13, =14); $!!! Fuzzy Rules $Defines relationships between input variables output variables. Large Large TERM then Char zero; Large TERM Small then Char one; Small TERM Small then Char two; Large Large TERM then Char three; Large Small TERM Large then Char four; Small TERM then Char five; Small Small TERM Large then Char six; Small Small Large Small Small then Char seven; Large TERM then Char eight; Small Large Large then Char nine; Small Small Small TERM then Char SS1; Large TERM then Char SS2; Freescale Semiconductor, Inc. AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. TERM then Char SS3; Small Small Small Small TERM then Char LISTING COMMENTS listing single text source file composed FIDE Inference Language, using FIDE text editor. Source files must have extension .FIL. FIDE compiler generates fuzzy inference unit, FIU, from source file. Source files specify fuzzy inference method, define range each input variable input membership functions associated with each variable, define range each output variable output membership functions associated with each variable, define fuzzy rules that relate input output membership functions. Freescale Semiconductor, Inc. FIDE Inference Language (FIL) defined FIDE Reference Manual. described FIDE User's Manual. listing shows, dollar signs precede comments. first uncommented line listing tvfi This line specifies that fuzzy inference unit uses truth value flow inference (TVFI) method employs calculation precision bits, divisions. TVFI least-complicated available calculation methods, produces smallest object code image. TVFI produces "singleton"output values that snap crisply from output state next. next uncommented line invar "delta pixels" This line specifies name input variable measured units delta pixels. valid range values defined parentheses specifies that values represented over range with full precision values. open left-handed square bracket begins list input membership function definitions. first input membership function definition Small (@2,1, @11,1, @13,0), name input membership function Small. function defined contents parenthetical set. Small starts with value smallest valid value (2). Small remains until delta pixels, when begins ramp down, eventually reaching delta pixels. comma following parenthetical indicates that more input membership functions follow. input membership function list denoted closing right-handed square bracket. input variable definition denoted semicolon. Input variable definitions SOP, TERM follow. Output variable definition begins with line: outvar Char "Character" name output variable Char. variable assigned meaningless unit Character. range Char specified asterisk specifies centroid defuzzification. open left-handed parenthesis that ends line starts list output membership functions. AN1220/D More Information This Product, www.freescale.com membership function list denoted closing right-handed parenthesis. output variable definition denoted semicolon. Notice that Char defined from while values assigned each character recognized ranges from Thus, character recognized, returns value fuzzy rules that follow variable definitions taken directly from Table Each rule separated from next semicolon. final rule semicolon. followed statement "end". FIDE debugger provides several functions test proper operation FIU. analyzer portion debugger provides surface contour maps cross-sections input-output relationships, making easy visualize changes inputs affect outputs. Surface display mode shows threedimensional surface created interaction input variables with output. Thus, surface display cannot used show input variables simultaneously, nonetheless useful showing system behavior around known areas concern, such overlap area between characters debugger simulator function also very helpful testing OCA. simulator reads user-defined input data file with extension .FDL, generates output every combination inputs specified, then displays state each graphically. FIDE also provides system-level simulation capability, called Composer. system composed, made incorporate multiple FIU, FOU, FEU. FIDE operation units (FOU) reformat data passing between multiple FIU, allowing each represent data independently. FIDE execution units (FEU) simulate interface external world. written language typically provide feedback from system outputs intermediate points system inputs intermediate points. Since closed loop system, composer used testing. Freescale Semiconductor, Inc. Freescale Semiconductor, Inc. TESTING RESULTS complex fuzzy system with input variables, output variable, twenty-three input membership functions, fifteen output membership functions fourteen fuzzy rules. This complexity makes difficult estimate output given inputs intuitively. most productive testing technique fuzzy systems empirical. test OCA, text file test data supplied simulator generated outputs were compared expected outputs. group fourteen data sets created starting point. This group shown listing below. input data sets correspond, order, fourteen fuzzy rules fuzzy inference unit listing. Therefore, proper selection input values through TERM should generate outputs through SS1, SS2, SS3, SS4, that order. values shown center points fuzzy specified given rule, thus represent input data that should find easy classify. This group fourteen data sets then duplicated modified check proper operation across range character data specified Tables listing shows only initial fourteen data sets. each group data sets, input variable (say, taken lower limit, with others held upper limit. Over entire suite worst-case simulated data sets, generated outputs that would have required second read. These cases generated outputs that were outside imposed definition expected output ±0.13. Importantly, data sets were incorrectly labelled being different character. These worst-case data sets would probably never encountered real world, since transitions, SOP, TERM would tend deviate from mean values same direction. Nonetheless, further manipulation membership functions rule definitions might make even more robust. AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. $Filename: OCA.FDL $Simulator file OCA.FIL 23,-18,18,-23,153,18; 23,-23,00,-00,121,11; 15,-08,08,-15,107,11; 23,-23,00,-00,137,13; 18,-16,08,-11,135,15; 15,-08,08,-16,119,13; 23,-16,05,-08,150,16; 08,-06,12,-09,084,13; 23,-16,16,-23,197,17; 13,-08,19,-23,154,16; 10,-10,10,-10,111,18; 16,-16,16,-16,148,17; 15,-15,16,-16,182,18; 08,-08,08,-08,086,17; Freescale Semiconductor, Inc. GENERATING REAL TIME CODE FIDE provides real-time code generator that converts FIDE source code into assembler source code. code generator prompts type, then creates appropriate output file same name .FIL file, with .ASM extension. OCA, M68HC11 real-time code generated. resulting OCA.ASM file assembled with IASM11 assembler. assembled object code size $562 (1123 decimal) bytes. This includes both fuzzy inference engine application-specific code. data preprocessor included this total, combined size preprocessor fuzzy code should less than Kbytes. code assembled with address $D000, with starting $0000. updated preprocessor locations $0000 $0003. updated $0004 TERM $0005. fuzzy engine output, Char, updated location $0006. This expects fuzzy inputs normalized (expressed function input range step length). preprocessor must perform this function. Likewise, generates normalized output which must de-normalized main program. normalized input value defined real value normalized output defined real value AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. SUMMARY demonstrates power fuzzy logic when applied problems like pattern recognition. fuzzy logic implementation uses very little memory, making possible provide full functionality within limited confines space. Since fewer lines code executed, microprocessor performance requirements reduced. addition, developing smaller amount code takes much less time. graphical user interface, debug facilities ROM-able inference engine further simplify development. developed provide data "black box" function host program that would also handle document movement, communication external computers, other tasks. realized system, would invoked during optical sensor integration time, after data slices been obtained. preprocessor would update input variables location $0000. Very shortly thereafter, fuzzy engine would update output location $0006 with code corresponding character recognized. host program would take output character value copy into string values representing account number other data document being read. should operate properly, even with moderate amounts document skew misalignment, since these cases were included with data sets defines. provide additional guardbanding, fuzzy sets generally have considerably more latitude than data sets they incorporate. Therefore, should also somewhat tolerant lighting conditions, document background, printing variations. Freescale Semiconductor, Inc. REFERENCES following publications provide thorough background fuzzy logic, from fundamentals advanced applications. Anderson, Ken, "Control Systems Sample Life Fuzzy Lane," Personal Engineering Instrumentation News, October 1992, Brubaker, David "Fuzzy Logic Basics: Intuitive Rules Replace Complex Math," EDN, June 1992, 111. Brubaker, David Cedric Sheerer, "Fuzzy Logic System Solves Control Problem," EDN, June 1992, 121. Kosko, Bart, Neural Networks Fuzzy Systems, Prentice Hall, Englewood Cliffs, 1992. Schwartz, Daniel George Klir, "Fuzzy Logic Flowers Japan," IEEE Spectrum, July 1992, Sibigtroth, James "Creating Fuzzy Micros," Embedded Systems Programming, December 1991. Williams, Tom, "Fuzzy Logic Anything Fuzzy," Computer Design, April 1992, 113. AN1220/D More Information This Product, www.freescale.com Freescale Semiconductor, Inc. Reach Home Page: www.freescale.com E-mail: support@freescale.com USA/Europe Locations Listed: Freescale Semiconductor Technical Information Center, CH370 1300 Alma School Road Chandler, Arizona 85224 +1-800-521-6274 +1-480-768-2130 support@freescale.com Europe, Middle East, Africa: Freescale Halbleiter Deutschland GmbH Technical Information Center Schatzbogen 81829 Muenchen, Germany 1296 (English) 52200080 (English) 92103 (German) (French) support@freescale.com Japan: Freescale Semiconductor Japan Ltd. Headquarters ARCO Tower 1-8-1, Shimo-Meguro, Meguro-ku, Tokyo 153-0064 Japan 0120 191014 5437 9125 support.japan@freescale.com Asia/Pacific: Freescale Semiconductor Hong Kong Ltd. Technical Information Center King Street Industrial Estate N.T., Hong Kong +800 2666 8080 support.asia@freescale.com Literature Requests Only: Freescale Semiconductor Literature Distribution Center P.O. 5405 Denver, Colorado 80217 1-800-441-2447 303-675-2140 Fax: 303-675-2150 Freescale Semiconductor, Inc. Information this document provided solely enable system software implementers Freescale Semiconductor products. There express implied copyright licenses granted hereunder design fabricate integrated circuits integrated circuits based information this document. Freescale Semiconductor reserves right make changes without further notice products herein. Freescale Semiconductor makes warranty, representation guarantee regarding suitability products particular purpose, does Freescale Semiconductor assume liability arising application product circuit, specifically disclaims liability, including without limitation consequential incidental damages. "Typical" parameters which provided Freescale Semiconductor data sheets and/or specifications vary different applications actual performance vary over time. operating parameters, including "Typicals" must validated each customer application customer's technical experts. Freescale Semiconductor does convey license under patent rights rights others. Freescale Semiconductor products designed, intended, authorized components systems intended surgical implant into body, other applications intended support sustain life, other application which failure Freescale Semiconductor product could create situation where personal injury death occur. Should Buyer purchase Freescale Semiconductor products such unintended unauthorized application, Buyer shall indemnify hold Freescale Semiconductor officers, employees, subsidiaries, affiliates, distributors harmless against claims, costs, damages, expenses, reasonable attorney fees arising directly indirectly, claim personal injury death associated with such unintended unauthorized use, even such claim alleges that Freescale Semiconductor negligent regarding design manufacture part. More Information This Product, www.freescale.com Other recent searchesNTE2652 - NTE2652 NTE2652 Datasheet NTE2653 - NTE2653 NTE2653 Datasheet KDS114V - KDS114V KDS114V Datasheet GHB-3M20-B - GHB-3M20-B GHB-3M20-B Datasheet BYG24D - BYG24D BYG24D Datasheet BYG24J - BYG24J BYG24J Datasheet
Privacy Policy | Disclaimer |